Projet

Général

Profil

Paste
Télécharger (22,5 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / lightbox2 / lightbox2.formatter.inc @ 384fc62a

1 85ad3d82 Assos Assos
<?php
2
// $Id: lightbox2.formatter.inc,v 1.1.2.30 2010/09/22 10:47:15 snpower Exp $
3
4
/**
5
 * @file
6
 * Lightbox2 formatter hooks and callbacks.
7
 */
8
9
10
/**
11
 * Theme function for displaying the lightbox2 trigger image in an imagefield.
12
 *
13
 * @param $path
14
 *   The path to the image to be displayed.
15
 * @param $alt
16
 *   The image alternative text.
17
 * @param $title
18
 *   The image title.
19
 * @param $attributes
20
 *   An array of image attributes, e.g. class name.
21
 * @return
22
 *   HTML output for displaying the image.
23
 */
24
function theme_lightbox2_image($variables) {
25
  $path = $variables['path'];
26
  $item = $variables['item'];
27
  $image_style = $variables['image_style'];
28
  $node_id = $variables['node_id'];
29
  $field_name = $variables['field_name'];
30
31
  if (!$variables["lightbox_style"]) {
32
    $path['path'] = file_create_url($item['uri']);
33
  }
34
  else {
35
    $path['path'] = image_style_url($variables["lightbox_style"],  $item['uri']);
36
  }
37
38
  // Lightbox type
39
  $rel = $variables['lightbox_type'];
40
41
  // Grouping
42
  $rel .= '[';
43
  $group = variable_get('lightbox2_image_group_node_id', 1);
44
45
  switch ($group) {
46
    // No groups
47
    case '0':
48
      break;
49
    // Group by field name
50
    case '1':
51
      $rel .= $field_name;
52
      break;
53
    // Group by node id
54
    case '2':
55
      $rel .= $node_id;
56
      break;
57
    // Group by field name and node id
58
    case '3':
59
      $rel .= $field_name . '_' . $node_id;
60
      break;
61
    // All nodes and fields in same group
62
    case '4':
63
      $rel .= 'group';
64
      break;
65
  }
66
  $rel .= ']';
67
68
  // Title Start
69
  $rel .= '[' . $item['title'];
70
71
  // Download Link
72
  if (user_access('download original image')) {
73
    $rel .= '<p><a href="' . file_create_url($item['uri']) . '">' . variable_get('lightbox2_download_link_text', 'Download Original') . '</a></p>';
74
  }
75
  
76
  // Title End
77
  $rel .= ']';
78
79
  $path['options']['attributes']['rel'] = $rel;
80
  $path['options']['attributes']['title'] = $item['title'];
81
  
82
  return theme('image_formatter', array( 'item' => $item, 'path' => $path, 'image_style' => $image_style ) );
83
}
84
85
/**
86
 * Handler for Lightbox2 display of imagecache + imagefield CCK fields.
87
 *
88
 * The compact view shows only the first image in a multiple imagefield but
89
 * shows all images in the lightbox.
90
 *
91
 * @param $element
92
 *   The CCK field element.
93
 * @return
94
 *   HTML output for displaying the image and link.
95
 */
96
/*function theme_lightbox2_formatter_imagefield($variables) {
97
  $element = $variables['element'];
98
  if (!module_exists("image")) {
99
   return;
100
  }
101
102
  $field_name = $element['#field_name'];
103
  $item = $element['#item'];
104
  $formatter = $element['#formatter'];
105
  $node = node_load($element['#item']['nid']);
106
107
  if (strpos($formatter, '__lightbox2__') !== FALSE || strpos($formatter, '__lightshow2__') !== FALSE || strpos($formatter, '__lightframe2__') !== FALSE
108
    || strpos($formatter, '__lightbox2_compact__') !== FALSE || strpos($formatter, '__lightshow2_compact__') !== FALSE || strpos($formatter, '__lightframe2_compact__') !== FALSE) {
109
    list($tmp, $lightbox_type, $view_preset, $lightbox_preset) = explode('__', $formatter, 4);
110
    return lightbox2_imagefield_image_imagecache($field_name, $item, $formatter, $node, $view_preset, $lightbox_preset);
111
  }
112
}*/
113
114
/**
115
 * Function to set up the data needed for
116
 * theme_imagefield_image_imagecache_lightbox2().
117
 *
118
 * @param $field_name
119
 *   The field name the action is being performed on.
120
 * @param $item
121
 *   An array, keyed by column, of the data stored for this item in this field.
122
 * @param $formatter
123
 *   The formatter to use for the field.
124
 * @param $node
125
 *   The node object.
126
 * @param $view_preset
127
 *   The imagecache preset to be displayed on the node or in the view.
128
 * @param $lightbox_preset
129
 *   The imagecache preset to be displayed in the lightbox.
130
 * @return
131
 *   The themed imagefield + imagecache image and link.
132
 */
133
/*function lightbox2_imagefield_image_imagecache($variables) {
134
  $field_name = $variables['field_name'];
135
  $item = $variables['item'];
136
  $formatter = $variables['formatter'];
137
  $node = $variables['node'];
138
  $view_preset = $variables['view_preset'];
139
  $lightbox_preset = $variables['lightbox_preset'];
140
  // Load file data if missing
141
  if (!isset($item['filepath']) && !empty($item['fid'])) {
142
    $file = field_file_load($item['fid']);
143
    $item = array_merge($item, (array)$file);
144
  }
145
  elseif (!isset($item['filepath'])) {
146
    // No file in field, return.
147
    return '';
148
  }
149
150
  $args['lightbox_preset'] = $lightbox_preset;
151
152
  // Check view_preset for existence.
153
  $rules = array();
154
  if (function_exists('imagecache_presets')) {
155
    $presets = imagecache_presets();
156
    foreach ($presets as $preset_id => $preset_info) {
157
      $rules[$preset_id] = $preset_info['presetname'];
158
    }
159
  }
160
  else {
161
    $rules = _imagecache_get_presets();
162
  }
163
  if ($view_preset == 'link' || $view_preset == 'original' || in_array($view_preset, (array) $rules)) {
164
    $rel = 'lightbox';
165
    if (strpos($formatter, '__lightshow2__') !== FALSE) {
166
      $rel = 'lightshow';
167
    }
168
    elseif (strpos($formatter, '__lightshow2_compact__') !== FALSE) {
169
      $rel = 'lightshow';
170
      $args['compact'] = TRUE;
171
    }
172
    elseif (strpos($formatter, '__lightframe2__') !== FALSE) {
173
      $rel = 'lightframe';
174
    }
175
176
    // Check if this is a compact display.
177
    list($tmp, $lightbox_type, $tmp) = explode('__', $formatter, 3);
178
    if ($lightbox_type == 'lightbox2_compact') {
179
      $args['compact'] = TRUE;
180
    }
181
    return theme('imagefield_image_imagecache_lightbox2', array( 'view_preset' => $view_preset, 'field_name' => $field_name, 'item' => $item, 'node' => $node, 'rel' => $rel, 'args' => $args ) );
182
  }
183
}
184
185
/**
186
 * Generate the HTML output for imagefield + imagecache images so they can be
187
 * opened in a lightbox by clicking on the image on the node page or in a view.
188
 *
189
 * This actually also handles filefields + imagecache images too.
190
 *
191
 * @param $view_preset
192
 *   The imagecache preset to be displayed on the node or in the view.
193
 * @param $field_name
194
 *   The field name the action is being performed on.
195
 * @param $item
196
 *   An array, keyed by column, of the data stored for this item in this field.
197
 * @param $node
198
 *   The node object.
199
 * @param $rel
200
 *   The type of lightbox to open: lightbox, lightshow or lightframe.
201
 * @param $args
202
 *   Args may override internal processes: caption, rel_grouping.
203
 * @return
204
 *   The themed imagefield + imagecache image and link.
205
 */
206
/*function theme_imagefield_image_imagecache_lightbox2($variables) {
207
  $view_preset = $variables['view_preset'];
208
  $field_name = $variables['field_name'];
209
  $item = $variables['item'];
210
  $node = $variables['node'];
211
  $rel = $variables['rel'];
212
  $args = $variables['args'];
213
  if (!isset($args['lightbox_preset'])) {
214
    $args['lightbox_preset'] = 'original';
215
  }
216
  // Can't show current node page in a lightframe on the node page.
217
  // Switch instead to show it in a lightbox.
218
  $on_image_node = (arg(0) == 'node') && (arg(1) == $node->nid);
219
  if ($rel == 'lightframe' && $on_image_node) {
220
    $rel = 'lightbox';
221
  }
222
  $orig_rel = $rel;
223
224
  // Unserialize into original - if sourced by views.
225
  $item_data = $item['data'];
226
  if (is_string($item['data'])) {
227
    $item_data = unserialize($item['data']);
228
  }
229
230
  // Set up the title.
231
  $image_title = $item_data['description'];
232
  $image_title = (!empty($image_title) ? $image_title : $item_data['title']);
233
  $image_title = (!empty($image_title) ? $image_title : $item_data['alt']);
234
  if (empty($image_title) || variable_get('lightbox2_imagefield_use_node_title', FALSE)) {
235
    $node = node_load($node->nid);
236
    $image_title = $node->title;
237
  }
238
239
  $image_tag_title = '';
240
  if (!empty($item_data['title'])) {
241
    $image_tag_title = $item_data['title'];
242
  }
243
244
245
  // Enforce image alt.
246
  $image_tag_alt = '';
247
  if (!empty($item_data['alt'])) {
248
    $image_tag_alt = $item_data['alt'];
249
  }
250
  elseif (!empty($image_title)) {
251
    $image_tag_alt = $image_title;
252
  }
253
254
  // Set up the caption.
255
  $node_links = array();
256
  if (!empty($item['nid'])) {
257
    $attributes = array();
258
    $attributes['id'] = 'lightbox2-node-link-text';
259
    $target = variable_get('lightbox2_node_link_target', FALSE);
260
    if (!empty($target)) {
261
      $attributes['target'] = $target;
262
    }
263
    $node_link_text = variable_get('lightbox2_node_link_text', 'View Image Details');
264
    if (!$on_image_node && !empty($node_link_text)) {
265
      $node_links[] = l($node_link_text, 'node/'. $item['nid'], array('attributes' => $attributes));
266
    }
267
    $download_link_text = check_plain(variable_get('lightbox2_download_link_text', 'Download Original'));
268
    if (!empty($download_link_text) && user_access('download original image')) {
269
      $node_links[] = l($download_link_text, file_create_url($item['filepath']), array('attributes' => array('target' => '_blank', 'id' => 'lightbox2-download-link-text')));
270
    }
271
  }
272
273
  $caption = $image_title;
274
  if (count($node_links)) {
275
    $caption .= '<br /><br />'. implode(" - ", $node_links);
276
  }
277
  if (isset($args['caption'])) {
278
    $caption = $args['caption']; // Override caption.
279
  }
280
281
  if ($orig_rel == 'lightframe') {
282
    $frame_width = variable_get('lightbox2_default_frame_width', 600);
283
    $frame_height = variable_get('lightbox2_default_frame_height', 400);
284
    $frame_size = 'width:'. $frame_width .'px; height:'. $frame_height .'px;';
285
    $rel = preg_replace('/\]$/', "|$frame_size]", $rel);
286
  }
287
288
  // Set up the rel attribute.
289
  $full_rel = '';
290
  $imagefield_grouping = variable_get('lightbox2_imagefield_group_node_id', 1);
291
  if (isset($args['rel_grouping'])) {
292
    $full_rel = $rel .'['. $args['rel_grouping'] .']['. $caption .']';
293
  }
294
  elseif ($imagefield_grouping == 1) {
295
    $full_rel = $rel .'['. $field_name .']['. $caption .']';
296
  }
297
  elseif ($imagefield_grouping == 2 && !empty($item['nid'])) {
298
    $full_rel = $rel .'['. $item['nid'] .']['. $caption .']';
299
  }
300
  elseif ($imagefield_grouping == 3 && !empty($item['nid'])) {
301
    $full_rel = $rel .'['. $field_name .'_'. $item['nid'] .']['. $caption .']';
302
  }
303
  elseif ($imagefield_grouping == 4 ) {
304
    $full_rel = $rel .'[allnodes]['. $caption .']';
305
  }
306
  else {
307
    $full_rel = $rel .'[]['. $caption .']';
308
  }
309
  $class = '';
310
  if ($view_preset != 'original') {
311
    $class = 'imagecache imagecache-' . $field_name . ' imagecache-' . $view_preset . ' imagecache-' . $field_name . '-' . $view_preset;
312
  }
313
  $link_attributes = array(
314
    'rel' => $full_rel,
315
    'class' => 'imagefield imagefield-lightbox2 imagefield-lightbox2-' . $view_preset . ' imagefield-' . $field_name . ' ' . $class,
316
  );
317
318
  $attributes = array();
319
  if (isset($args['compact']) && $item['#delta']) {
320
    $image = '';
321
  }
322
  elseif ($view_preset == 'original') {
323
    $image = theme('lightbox2_image', array( 'path' => $item['filepath'], 'alt' => $image_tag_alt, 'title' => $image_tag_title, 'attributes' => $attributes ) );
324
  }
325
  elseif ($view_preset == 'link') {
326
    // Not actually an image, just a text link.
327
    $image = variable_get('lightbox2_view_image_text', 'View image');
328
  }
329
  else {
330
     $image = theme('imagecache', array( 'style_name' => $view_preset, 'path' => $item['filepath'], 'alt' => $image_tag_alt, 'title' => $image_tag_title, 'attributes' => $attributes ) );
331
  }
332
333
  if ($args['lightbox_preset'] == 'node') {
334
    $output = l($image, 'node/'. $node->nid .'/lightbox2', array('attributes' => $link_attributes, 'html' => TRUE));
335
  }
336
  elseif ($args['lightbox_preset'] == 'original') {
337
    $output = l($image, file_create_url($item['filepath']), array('attributes' => $link_attributes, 'html' => TRUE));
338
  }
339
  else {
340
    $output = l($image, imagecache_create_url($args['lightbox_preset'], $item['filepath']), array('attributes' => $link_attributes, 'html' => TRUE));
341
  }
342
  return $output;
343
}*/
344
345
346
/**
347
 * Theme function for the lightbox iframe filefield formatter.
348
 *
349
 * @param $element
350
 *   The CCK field element.
351
 * @return
352
 *   The themed link to the file, with lightframe support.
353
 */
354
/*function theme_lightbox2_formatter_filefield_lightframe($variables) {
355
  $element = $variables['element'];
356
  $file = $element['#item'];
357
  $field = content_fields($element['#field_name']);
358
  if (!filefield_view_access($field['field_name']) || empty($file['list'])) {
359
    return '';
360
  }
361
  if (empty($file['fid']) || !is_file($file['filepath'])) {
362
    return '';
363
  }
364
  $file = (object)$file;
365
  if (!lightbox2_check_filefield_extension($file, $field)) {
366
    return '';
367
  }
368
  drupal_add_css(drupal_get_path('module', 'filefield') .'/filefield.css');
369
   return '<div class="filefield-item">'. theme('lightbox2_file_formatter_lightbox2_iframe', array( 'file' => $file, 'field' => $field, 'file_formatter_settings' => NULL ) ) .'</div>';
370
}*/
371
372
/**
373
 * Theme function for the lightbox iframe filefield formatter.
374
 *
375
 * @param $file
376
 *   Filefield file object.
377
 * @param $field
378
 *   The CCK field the action is being performed on.
379
 * @param $file_formatter_settings
380
 *   File formatter settings; ignored.
381
 * @return
382
 *   Themed link to filefield.
383
 */
384
/*function theme_lightbox2_file_formatter_lightbox2_iframe($variables) {
385
  $file = $variables['file'];
386
  $field = $varbiables['field'];
387
  $file_formatter_settings = $variables['file_formatter_settings'];
388
  $path = $file->filepath;
389
  $url = file_create_url($path);
390
  $icon = theme('file_icon', array( 'file' => $file ) );
391
  $file_data = $file->data;
392
  if (is_string($file_data)) {
393
    $file_data = unserialize($file->data);
394
  }
395
  $description = $file_data['description'];
396
  if (empty($description)) {
397
    $description = $file->filename;
398
  }
399
  $attributes = array();
400
  $attributes['id'] = 'lightbox2-node-link-text';
401
  $target = variable_get('lightbox2_node_link_target', FALSE);
402
  if (!empty($target)) {
403
    $attributes['target'] = $target;
404
  }
405
  $node_link = '';
406
  $node_link_text = check_plain(variable_get('lightbox2_node_link_text', 'View Image Details'));
407
  if (!empty($node_link_text)) {
408
    $node_link .= '<br /><br />'. l($node_link_text, $url, array('attributes' => $attributes));
409
  }
410
411
  // Only files with supported extensions make it this far, so no need to check here.
412
  $link_attributes = array('rel' => 'lightframe[]['. $description . $node_link .']');
413
414
  return '<div class="filefield-formatter-lightbox2-iframe">'. $icon . l($description, $url, array('attributes' => $link_attributes)) .'</div>';
415
}*/
416
417
/**
418
 * Generate the HTML output to open embedded cck images in a lightbox.
419
 *
420
 * @param $element
421
 *   The CCK field element.
422
 * @return
423
 *   The themed link to the embedded image.
424
 */
425
/*function theme_lightbox2_formatter_emimage($variables) {
426
  $element = $variables['element'];
427
  $field = content_fields($element['#field_name'], $element['#type_name']);
428
  $item = $element['#item'];
429
  $formatter = $element['#formatter'];
430
  $node = node_load($element['#node']->nid);
431
432
  list($tmp, $lightbox_type) = explode('_', $formatter, 2);
433
  $field['lightbox_type'] = $lightbox_type;
434
  $formatter = "emimage";
435
436
  return module_invoke('emfield', 'emfield_field_formatter', $field, $item, $formatter, $node, 'lightbox2');
437
}*/
438
439
/**
440
 * Generate the HTML output to open embedded cck images in a lightbox.
441
 *
442
 * @param $field
443
 *   The CCK field the action is being performed on.
444
 * @param $item
445
 *   An array, keyed by column, of the data stored for this item in this field.
446
 * @param $formatter
447
 *   The formatter to use for the field.
448
 * @param $node
449
 *   The node object.
450
 * @param $args
451
 *   Args may override internal processes: caption, rel_grouping.
452
 * @return
453
 *   Themed embedded media field image and link.
454
 */
455
/*function theme_lightbox2_emimage($variables) {
456
  $field = $variables['field'];
457
  $item = $variables['item'];
458
  $formatter = $variables['formatter'];
459
  $node = $variables['node'];
460
  $args = $variables['args'];
461
462
  $lightbox_type = $field['lightbox_type'];
463
464
  if ($item['value'] && $item['provider']) {
465
    $rel = 'lightbox';
466
    if ($lightbox_type == 'lightshow2') {
467
      $rel = 'lightshow';
468
    }
469
    elseif ($lightbox_type == 'lightframe2') {
470
      $rel = 'lightframe';
471
    }
472
    if ($rel == 'lightframe' && arg(0) == 'node' && arg(1) == $node->nid) {
473
      $rel = 'lightbox';
474
    }
475
    $orig_rel = $rel;
476
477
    $code = $item['value'];
478
    $width = $field['widget']['thumbnail_width'] == '' ? variable_get('emimage_default_full_width', EMIMAGE_DEFAULT_FULL_WIDTH) : $field['widget']['thumbnail_width'];
479
    $height = $field['widget']['thumbnail_height'] == '' ? variable_get('emimage_default_full_height', EMIMAGE_DEFAULT_FULL_HEIGHT) : $field['widget']['thumbnail_height'];
480
    $link = $field['widget']['thumbnail_link'] ? $field['widget']['thumbnail_link'] : variable_get('emimage_default_thumbnail_link', EMIMAGE_DEFAULT_THUMBNAIL_LINK);
481
    if ($link == EMIMAGE_LINK_CONTENT) {
482
      $link = 'node/'. $node->nid;
483
    }
484
    elseif ($link == EMIMAGE_LINK_PROVIDER) {
485
      $link = module_invoke('emfield', 'include_invoke', 'emimage', $item['provider'], 'embedded_link', $code, $item['data']);
486
    }
487
    else {
488
      $link = NULL;
489
    }
490
    $attributes = array();
491
    $attributes['id'] = 'lightbox2-node-link-text';
492
    if ($width) {
493
      $attributes['width'] = $width;
494
    }
495
    if ($height) {
496
      $attributes['height'] = $height;
497
    }
498
    $target = variable_get('lightbox2_node_link_target', FALSE);
499
    if (!empty($target)) {
500
      $attributes['target'] = $target;
501
    }
502
503
    // Set up the title.
504
    $title = module_invoke('emfield', 'include_invoke', 'emimage', $item['provider'], 'image_title', $code, $item['data']);
505
506
    // Set up the caption.
507
    $node_link = '';
508
    $node_link_text = variable_get('lightbox2_node_link_text', 'View Image Details');
509
    if (!empty($node_link_text) && !empty($link)) {
510
      $node_link = '<br /><br />'. l($node_link_text, $link, array('attributes' => $attributes));
511
    }
512
    // @TODO original download link possible with emfield?
513
514
    $caption = $title . $node_link;
515
    if (isset($args['caption'])) {
516
      $caption = $args['caption']; // Override caption.
517
    }
518
519
    // Set up url and image.
520
    $url = module_invoke('emfield', 'include_invoke', 'emimage', $item['provider'], 'image_url', $code, $width, $height, "emimage", $field, $item, $node);
521
    $image = theme('image', array( 'path' => $url, 'alt' => $title, 'title' => $title, 'attributes' => $attributes, 'getsize' => FALSE ) );
522
523
    // Set up full rel attribute.
524
    $image_grouping = variable_get('lightbox2_emimage_group_node_id', 1);
525
    if ($image_grouping == 1) {
526
      $full_rel = $rel .'['. $field['field_name'] .']['. $caption .']';
527
    }
528
    elseif ($image_grouping == 2 && !empty($node->nid)) {
529
      $full_rel = $rel .'['. $node->nid .']['. $caption .']';
530
    }
531
    elseif ($image_grouping == 3 && !empty($node->nid)) {
532
      $full_rel = $rel .'['. $field['field_name'] .'_'. $node->nid .']['. $caption .']';
533
    }
534
    elseif (isset($args['rel_grouping'])) {
535
      $full_rel = $rel .'['. $args['rel_grouping'] .']['. $caption .']';
536
    }
537
    else {
538
      $rel = $full_rel .'[]['. $caption .']';
539
    }
540
541
    if ($orig_rel != 'lightframe') {
542
      $link_attributes = array('rel' => $full_rel);
543
      $full_width = $field['widget']['full_width'] == '' ? variable_get('emimage_default_full_width', EMIMAGE_DEFAULT_FULL_WIDTH) : $field['widget']['full_width'];
544
      $full_height = $field['widget']['full_height'] == '' ? variable_get('emimage_default_full_height', EMIMAGE_DEFAULT_FULL_HEIGHT) : $field['widget']['full_height'];
545
      $full_image_url = module_invoke('emfield', 'include_invoke', 'emimage', $item['provider'], 'image_url', $code, $full_width, $full_height, "emimage", $field, $item, $node);
546
      $output = l($image, $full_image_url, array('attributes' => $link_attributes, 'html' => TRUE));
547
    }
548
    else {
549
      $frame_width = variable_get('lightbox2_default_frame_width', 600);
550
      $frame_height = variable_get('lightbox2_default_frame_height', 400);
551
      $frame_size = 'width:'. $frame_width .'px; height:'. $frame_height .'px;';
552
      $full_rel = preg_replace('/\]\[/', "|$frame_size][", $full_rel);
553
      $link_attributes = array('rel' => $full_rel);
554
      $output = l($image, $link .'/lightbox2', array('attributes' => $link_attributes, 'html' => TRUE));
555
    }
556
  }
557
558
  return $output;
559
}*/
560
561
/**
562
 * Generate the HTML output to open embedded cck videos in a lightbox.
563
 *
564
 * @param $element
565
 *   The CCK field element.
566
 * @return
567
 *   HTML output for displaying the video and link.
568
 */
569
/*function theme_lightbox2_formatter_emvideo_lightvideo($variables) {
570
  $element = $variables['element'];
571
  if (!variable_get('lightbox2_enable_video', FALSE)) {
572
    return;
573
  }
574
  $field = content_fields($element['#field_name'], $element['#type_name']);
575
  $item = $element['#item'];
576
  $formatter = "emvideo";
577
  $node = node_load($element['#node']->nid);
578
579
  return module_invoke('emfield', 'emfield_field_formatter', $field, $item, $formatter, $node, 'lightbox2');
580
}*/
581
582
/**
583
 * Generate the HTML output to open embedded cck videos in a lightbox.
584
 *
585
 * @param $field
586
 *   The CCK field the action is being performed on.
587
 * @param $item
588
 *   An array, keyed by column, of the data stored for this item in this field.
589
 * @param $formatter
590
 *   The formatter to use for the field.
591
 * @param $node
592
 *   The node object.
593
 * @param $options
594
 *   Options array.
595
 * @return
596
 *   Themed link to the embedded media field video.
597
 */
598
/*function theme_lightbox2_emvideo($variables) {
599
  $field = $variables['field'];
600
  $item = $variables['item'];
601
  $formatter = $variables['formatter'];
602
  $node = $variables['node'];
603
  $thumbnail = isset($options['thumbnail']) ? $options['thumbnail'] : theme('emvideo_video_thumbnail', $field, $item, 'video_thumbnail', $node, TRUE, $options);
604
  // if options title set use that, otherwise use video title if set in node,
605
  // otherwise try node title, then widget thumbnail setting and fallback to
606
  // default string.
607
  $title = isset($options['title']) ? $options['title'] : (isset($item['data']['emthumb']['emthumb_title']) ? $item['data']['emthumb']['emthumb_title'] : (isset($node->title) ? $node->title : (isset($field['widget']['thumbnail_link_title']) ? $field['widget']['thumbnail_link_title'] : variable_get('emvideo_default_thumbnail_link_title', t('See video')))));
608
  
609
  $destination = 'video-cck/lightbox2/'. $node->nid .'/'. $field['widget']['video_width'] .'/'. $field['widget']['video_height'] .'/'. $field['field_name'] .'/'. $item['provider'] .'/'. $item['value'];
610
  $width = $field['widget']['video_width'] + 20;
611
  $height = $field['widget']['video_height'] + 20;
612
  if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE)) {
613
    $width = $field['widget']['video_width'] + 40;
614
    $height = $field['widget']['video_height'] + 40;
615
  }
616
  $rel_full = 'lightframe['. $field['type_name'] . '|width:'. $width .'px; height:'. $height .'px; overflow:visible;]';
617
618
  $attributes = array(
619
    'attributes' => array(
620
      'title' => $title,
621
      'class' => $field['type_name'],
622
      'rel' => $rel_full,
623
    ),
624
    'query' => NULL,
625
    'fragment' => NULL,
626
    'absolute' => FALSE,
627
    'html' => TRUE,
628
  );
629
630
  $output = l($thumbnail, $destination, $attributes);
631
  return $output;
632
}*/