You are here

function fancybox_imagefield_image_imagecache in fancyBox 6

Implementation of hook_field_formatter().

2 calls to fancybox_imagefield_image_imagecache()
fancybox_insert_content in ./fancybox.module
Implementation of hook_insert_content().
theme_fancybox_formatter_imagefield in ./fancybox.theme.inc
Theme ImageCache + Imagefield CCK field formatter.

File

./fancybox.module, line 566
Provides the Fancybox jQuery plugin for displaying images, HTML content and multimedia in an elegant box.

Code

function fancybox_imagefield_image_imagecache($field, $item, $formatter, $node) {
  $settings = variable_get('fancybox_settings', array());
  if ($settings['imagefield']['use_list_field'] && $item['list'] == 0) {
    return null;
  }
  if (!isset($item['filepath']) && isset($item['fid'])) {
    $file = field_file_load($item['fid']);
    $item['filepath'] = $file['filepath'];
  }

  // Image caption.
  $item_data = $item['data'];
  $image_title = $item_data['description'];
  $image_title = !empty($image_title) ? $image_title : $item_data['title'];
  $image_title = !empty($image_title) ? $image_title : $item_data['alt'];
  if ($settings['imagefield']['use_node_title']) {
    $image_title = $node->title;
  }
  $loop_item = '';
  $nid = $item['nid'] ? $item['nid'] : ($node->nid ? $node->nid : '');
  switch ($settings['imagefield']['grouping']) {
    case 1:
      $loop_item = $nid . '-' . $field;
      break;
    case 2:
      $loop_item = 'all';
      break;
  }
  list($namespace, $presetname) = explode('|', $formatter, 2);
  if ($preset = imagecache_preset_by_name($namespace)) {
    return theme('imagefield_image_imagecache_fancybox', $namespace, $field, $item['filepath'], $image_title, $loop_item);
  }
}