function field_kaltura_field_formatter_view in Kaltura 7.3
Same name and namespace in other branches
- 7.2 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_formatter_view()
Implements hook_field_formatter_view().
File
- plugins/
field_kaltura/ field_kaltura.module, line 917 - Kaltura as a field primary module file.
Code
function field_kaltura_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
// Override display settings.
if (isset($display['context']['actual_view_mode'])) {
$mode = $display['context']['actual_view_mode'];
}
else {
// The case when field_default_view() is called with display parameters
// instead of a view name.
$mode = 'default';
}
foreach ($items as $delta => $item) {
if (!empty($item['settings'][$mode]['non_default'])) {
$settings = $item['settings'][$mode]['settings'];
}
else {
$settings = $display['settings'];
}
$settings = array_intersect_key(array_filter($settings) + $field['settings'], $settings);
$entry = kaltura_entry_load($item['entryid']);
if (!$entry) {
continue;
}
$metadata = array(
'views' => $entry->kaltura_views,
'plays' => $entry->kaltura_plays,
'votes' => $entry->kaltura_votes,
'rank' => $entry->kaltura_rank,
'total_rank' => $entry->kaltura_total_rank,
);
$thumb_url = $entry->kaltura_thumbnail_url . '/type/1/width/' . $settings['thumbsize_width'] . '/height/' . $settings['thumbsize_height'];
$themes = array(
'field_kaltura_player_default' => 'kaltura_player_default',
'field_kaltura_player' => 'kaltura_player',
'field_kaltura_player_title' => 'kaltura_player_title',
'field_kaltura_player_meta' => 'kaltura_player_meta',
'field_kaltura_thumbnail_only' => 'kaltura_thumbnail',
'field_kaltura_thumbnail_title' => 'kaltura_thumbnail_default',
'field_kaltura_thumbnail_title_desc' => 'kaltura_thumbnail_title_desc',
'field_kaltura_thumbnail_metadata' => 'kaltura_thumbnail_meta',
);
$element[$delta]['#theme'] = $themes[$display['type']];
$element[$delta]['#title'] = $entry->kaltura_title;
$element[$delta]['#desc'] = $entry->kaltura_description;
switch ($display['type']) {
case 'field_kaltura_player_meta':
$element[$delta]['#meta'] = $metadata;
// No break.
case 'field_kaltura_player_default':
case 'field_kaltura_player':
case 'field_kaltura_player_title':
$media_type = !empty($item['mediatype']) ? $item['mediatype'] : $entry->kaltura_media_type;
$seo_meta = array(
'title' => $entry->kaltura_title,
'description' => $entry->kaltura_description,
);
$element[$delta]['#embed'] = field_kaltura_build_embed($entry->kaltura_entryid, $media_type, $settings, NULL, NULL, $thumb_url, $seo_meta);
break;
case 'field_kaltura_thumbnail_only':
case 'field_kaltura_thumbnail_title':
case 'field_kaltura_thumbnail_title_desc':
case 'field_kaltura_thumbnail_metadata':
$element[$delta]['#thub'] = $thumb_url;
$element[$delta]['#meta'] = $metadata;
$element[$delta]['#rotate'] = $settings['rotate'];
break;
}
}
return $element;
}