function cck_video_field_formatter_view in CCK Video 7
Implements hook_field_formatter_view().
File
- ./
cck_video.module, line 110
Code
function cck_video_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
global $base_path, $cck_video_init;
$element = array();
$settings = $display['settings'];
$player_name = $settings['cck_video_player'];
foreach ($items as $delta => $item) {
$file_name = $item['filename'];
$file_video = file_create_url($item['uri']);
$file_ext = substr($file_video, -3);
if ($file_ext == 'm3u8') {
$video_type = 'application/x-mpegurl';
}
if ($file_ext == 'webm') {
$video_type = 'video/webm';
}
if ($file_ext == 'mp4') {
$video_type = 'video/mp4';
}
if ($file_ext == 'ogg') {
$video_type = 'video/ogg';
}
if ($file_ext == 'flv') {
$video_type = 'video/flash';
}
$cck_video_image_ext = variable_get('cck_video_image_ext', 'jpg,bmp,png');
$cck_video_video_ext = variable_get('cck_video_video_ext', 'flv,swf,mp4,wmv');
$cck_video_width = variable_get('cck_video_width', '570');
$cck_video_height = variable_get('cck_video_height', '334');
if (in_array($file_ext, explode(',', $cck_video_image_ext))) {
$output = '<div class="cck-video-img">';
$output .= '<img src="' . $file_video . '" />';
$output .= '</div>';
}
elseif (in_array($file_ext, explode(',', $cck_video_video_ext))) {
if ($player_name == 'flowplayer') {
$player_path = drupal_get_path('module', 'cck_video') . '/players/flowplayer-5.4.2';
$player_swf = $player_path . '/flowplayer.swf';
drupal_add_js($player_path . '/flowplayer.min.js');
drupal_add_css($player_path . '/skin/minimalist.css');
$output = '
<div class="flowplayer">
<video><source type="' . $video_type . '" src="' . $file_video . '"></video>
</div>';
/*
$output = '<a href="' . $file_video . '" style="display:block;width:425px;height:300px;" class="player"></a>';
if (!$cck_video_init) {
drupal_add_js('flowplayer("a.player", "' . $player_swf . '", {clip: {autoPlay: false}});',
array('type' => 'inline', 'scope' => 'footer'));
$cck_video_init = TRUE;
}
*/
}
elseif ($player_name == 'swfobject') {
$player_path = drupal_get_path('module', 'cck_video') . '/players/swfobject-2.2';
drupal_add_js($player_path . '/swfobject.js');
drupal_add_css(drupal_get_path('module', 'cck_video') . '/cck_video.css');
drupal_add_js('swfobject.registerObject("' . $file_name . '", "9.0.0");', array(
'type' => 'inline',
'scope' => JS_DEFAULT,
));
// STATIC only
$output = '
<div id="cck_video">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
width="' . $cck_video_width . '" height="' . $cck_video_height . '" id="' . $file_name . '">
<param name="movie" value="' . $file_video . '" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="opaque" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="' . $file_video . '"
width="' . $cck_video_width . '" height="' . $cck_video_height . '">
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="opaque" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
';
}
}
else {
$output = '<div class="cck-video-vid">';
$output .= '<a href="' . $file_video . '">' . $file_name . '</a>';
$output .= '</div>';
}
$element[$delta]['#markup'] = $output;
}
return $element;
}