function field_kaltura_field_formatter_view in Kaltura 7.2
Same name and namespace in other branches
- 7.3 plugins/field_kaltura/field_kaltura.module \field_kaltura_field_formatter_view()
Implements hook_field_formatter_view().
File
- plugins/
field_kaltura/ field_kaltura.module, line 881 - Kaltura as a field primary module file.
Code
function field_kaltura_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
foreach ($display['settings'] as $key => $val) {
$settings[$key] = !empty($display['settings'][$key]) ? $display['settings'][$key] : $field['settings'][$key];
}
if (isset($items[0]['entryid'])) {
$item = $items[0]['entryid'];
}
if (isset($items[0]['mediatype'])) {
$type = $items[0]['mediatype'];
}
if (empty($item)) {
$element[0]['#markup'] = '';
return $element;
}
$query = db_select('node_kaltura', 'k')
->fields('k')
->condition('kaltura_entryid', $item, '=')
->execute()
->fetchAssoc();
$metadata['views'] = $query['kaltura_views'];
$metadata['plays'] = $query['kaltura_plays'];
$metadata['votes'] = $query['kaltura_votes'];
$metadata['rank'] = $query['kaltura_rank'];
$metadata['total_rank'] = $query['kaltura_total_rank'];
$seometa['description'] = $query['kaltura_description'];
$seometa['title'] = $query['kaltura_title'];
$type = !empty($type) ? $type : $query['kaltura_media_type'];
$thumb_url = $query['kaltura_thumbnail_url'] . '/type/1/width/' . $settings['thumbsize_width'] . '/height/' . $settings['thumbsize_height'];
// Could be a problem if this is not a node.
$path = !empty($entity->uri['path']) ? $entity->uri['path'] : '';
$user_id = $entity->uid;
switch ($display['type']) {
case 'field_kaltura_player_default':
$embed = field_kaltura_build_embed($item, $type, $settings, $path, $user_id, $thumb_url, $seometa);
$element[0] = array(
'#theme' => 'kaltura_player_default',
'#embed' => $embed,
);
break;
case 'field_kaltura_player':
$embed = field_kaltura_build_embed($item, $type, $settings, $path, $user_id, $thumb_url, $seometa);
$element[0] = array(
'#theme' => 'kaltura_player',
'#embed' => $embed,
);
break;
case 'field_kaltura_player_title':
$embed = field_kaltura_build_embed($item, $type, $settings, $path, $user_id, $thumb_url, $seometa);
$element[0] = array(
'#theme' => 'kaltura_player_title',
'#embed' => $embed,
);
break;
case 'field_kaltura_player_meta':
$embed = field_kaltura_build_embed($item, $type, $settings, $path, $user_id, $thumb_url, $seometa);
$element[0] = array(
'#theme' => 'kaltura_player_meta',
'#embed' => $embed,
'#meta' => $metadata,
);
break;
case 'field_kaltura_thumbnail_only':
$element[0] = array(
'#theme' => 'kaltura_thumbnail',
'#thub' => $thumb_url,
'#meta' => $metadata,
'#rotate' => $settings['rotate'],
);
break;
case 'field_kaltura_thumbnail_title':
$element[0] = array(
'#theme' => 'kaltura_thumbnail_default',
'#thub' => $thumb_url,
'#meta' => $metadata,
'#rotate' => $settings['rotate'],
);
break;
case 'field_kaltura_thumbnail_title_desc':
$element[0] = array(
'#theme' => 'kaltura_thumbnail_title_desc',
'#thub' => $thumb_url,
'#meta' => $metadata,
'#rotate' => $settings['rotate'],
);
break;
case 'field_kaltura_thumbnail_metadata':
$element[0] = array(
'#theme' => 'kaltura_thumbnail_meta',
'#thub' => $thumb_url,
'#meta' => $metadata,
'#rotate' => $settings['rotate'],
);
break;
}
if (!empty($element[0])) {
$element[0]['#title'] = $query['kaltura_title'];
$element[0]['#desc'] = $query['kaltura_description'];
}
return $element;
}