function brightcove_media_file_formatter_image_view in Brightcove Video Connect 7.7
Same name and namespace in other branches
- 7.2 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_image_view()
- 7.3 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_image_view()
- 7.4 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_image_view()
- 7.6 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_image_view()
The brightcove_media_image file formatter view callback.
1 string reference to 'brightcove_media_file_formatter_image_view'
- brightcove_media_file_formatter_info in brightcove_media/
brightcove_media.module - Implements hook_file_formatter_info().
File
- brightcove_media/
brightcove_media.module, line 307 - This module provide the hook implementations for the integration with Media module.
Code
function brightcove_media_file_formatter_image_view($file, $display, $langcode) {
$scheme = file_uri_scheme($file->uri);
if ($scheme === BRIGHTCOVE_EMBED_TYPE_VIDEO || $scheme === BRIGHTCOVE_EMBED_TYPE_PLAYLIST) {
$video = NULL;
$items = brightcove_media_parse_uri($file->uri, TRUE);
$account = $items['account'];
$id = $items['id'];
$path = brightcove_try_client($account, function ($client) use ($id, $scheme) {
/** @var $cms \Brightcove\API\CMS */
list($cms) = brightcove_create_classes($client);
switch ($scheme) {
case BRIGHTCOVE_EMBED_TYPE_VIDEO:
$video = $cms
->getVideo($id);
$images = $video
->getImages();
if (isset($images['thumbnail'])) {
return $images['thumbnail']
->getSrc();
}
break;
case BRIGHTCOVE_EMBED_TYPE_PLAYLIST:
$videos = $cms
->getVideosInPlaylist($id);
foreach ($videos as $video_id) {
$video = $cms
->getVideo($video_id);
$images = $video
->getImages();
if (isset($images['thumbnail'])) {
return $images['thumbnail']
->getSrc();
}
}
break;
}
return NULL;
}) ?: brightcove_get_default_image();
if (empty($display['settings']['image_style'])) {
$element = [
'#theme' => 'image',
'#path' => $path,
];
}
else {
$styled_path = image_style_path($display['settings']['image_style'], $path);
$style = image_style_load($display['settings']['image_style']);
image_style_create_derivative($style, $path, $styled_path);
$element = [
'#theme' => 'image_style',
'#path' => $path,
'#style_name' => $display['settings']['image_style'],
];
}
return $element;
}
return NULL;
}