From bacdeaa7d3dca73e1346cd67aedc6ae13d4ef615 Mon Sep 17 00:00:00 2001 From: Heshan Wanigasooriya Date: Mon, 27 Apr 2009 09:48:39 +0000 Subject: adding includes files --- includes/common.inc | 423 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 423 insertions(+) create mode 100644 includes/common.inc (limited to 'includes/common.inc') diff --git a/includes/common.inc b/includes/common.inc new file mode 100644 index 0000000..221f27e --- /dev/null +++ b/includes/common.inc @@ -0,0 +1,423 @@ + + * porting to Drupal 6 + * @author Heshan Wanigasooriya + * @todo + */ + + + + + +/** + * Get the object for the suitable player for the parameter resource +*/ +function _video_common_get_player($node) { + switch (_video_get_filetype($node->vidfile)) { + case 'divx': + return theme('video_play_divx', $node); + case 'mov': + case 'mp4': + case '3gp': + case '3g2': + case 'mpg': + return theme('video_play_quicktime', $node); + case 'rm': + return theme('video_play_realmedia', $node); + case 'flv': + return theme('video_play_flash', $node); + case 'swf': + return theme('video_play_swf', $node); + case 'dir': + case 'dcr': + return theme('video_play_dcr', $node); + case 'asf': + case 'wmv': + case 'avi': + return theme('video_play_windowsmedia', $node); + case 'ogg': + return theme('video_play_ogg_theora', $node); + case 'youtube': + return theme('video_play_youtube', $node); + case 'googlevideo': + return theme('video_play_googlevideo', $node); + default: + drupal_set_message('Video type not supported', 'error'); + break; + } +} + +/********************************************************************* + * Themeable functions for playing videos. They print a page with a player embedded. + *********************************************************************/ + + /** + * Play videos from in FLV Flash video format + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_flash($node) { + $loader_location = variable_get('video_flvplayerloader', 'FlowPlayer.swf'); + + $url = _video_get_fileurl($node->vidfile); + $file = basename($url); + $base_url = substr($url, 0, strrpos($url, '/')); + + $height = $node->video_scaled_y + 24; // add commands height + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + + // params will be passed to both IE or not IE browsers + $output .= ' + + + + ' . "\n" + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; + + $output = theme('video_format_play', $output, t('http://www.macromedia.com/go/getflashplayer'), + t('Link to Macromedia Flash Player Download Page'), + t('Download latest Flash Player')); + return $output; +} + +/** + * Play Flash .swf files. + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_swf($node) { + + $url = _video_get_fileurl($node->vidfile); + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + + // params will be passed to both IE or not IE browsers + $output .= ''. "\n" . + '' . "\n" + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; + + $output = theme('video_format_play', $output, t('http://www.macromedia.com/go/getflashplayer'), t('Link to Flash player download'), t('Download the latest Flash player')); + return $output; +} + + + +/** + * Play Director .dcr/.dir files. + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ + +function theme_video_play_dcr($node) { + + $url = _video_get_fileurl($node->vidfile); + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + +// params will be passed to both IE or not IE browsers + $output .= '' . "\n" + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; + + $output = theme('video_format_play', $output, t('http://www.macromedia.com/shockwave/download/'), + t('Link to Macromedia Shockwave Player Download Page'), + t('Download latest Shockwave Player')); + return $output; +} + +/** + * Play videos from in DivX format + * + * @see http://developer.apple.com/internet/ieembedprep.html + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_divx($node) { + //Increase the height to accommodate the player controls on the bottom. + $height = $node->video_scaled_y + 20; + + $url = _video_get_fileurl($node->vidfile); + + $output = ' + + '. "\n"; + // this will be executed by not Internet Explorer browsers + $output = ' + + '."\n"; + + $output .= ''."\n"; + $output .= ''."\n"; + $output .= ''; + $output = theme('video_format_play', $output,t('http://www.divx.com/divx/webplayer/'), + t('Link to DivX Download Page'), + t('Download latest DivX Web Player')); + return $output; +} + +/** + * Play videos from in Quicktime format + * + * @see http://developer.apple.com/internet/ieembedprep.html + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_quicktime($node) { + //Increase the height to accommodate the player controls on the bottom. + $height = $node->video_scaled_y + 16; + + $url = _video_get_fileurl($node->vidfile); + + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + + // params will be passed to both IE or not IE browsers + $output .= ' + + ' . "\n" + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; // only one
needed becouse only one opening tag has been parsed by browsers + + + /* + $output = ''; + */ + + + $output = theme('video_format_play', $output, t('http://www.apple.com/quicktime/download'), + t('Link to QuickTime Download Page'), + t('Download latest Quicktime Player')); + return $output; +} + +/** + * Play videos from in Realmedia format + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_realmedia($node) { + // Real's embeded player includes the controls + // in the height + $node->video_scaled_y += 40; + + $url = _video_get_fileurl($node->vidfile); + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + + // params will be passed to both IE or not IE browsers + $output .= ' + + + + + + + + + + + + + ' + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; // only one needed becouse only one opening tag has been parsed by browsers + + + $output = theme('video_format_play', $output, t('http://www.real.com/'), + t('Link to Real'), + t('Download latest Realmedia Player')); + return $output; +} + +/** + * Play videos from in WindowsMediaVideo format + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_windowsmedia($node) { + // Windows Media's embeded player includes the controls in the height + $node->video_scaled_y += 68; + $url = _video_get_fileurl($node->vidfile); + + // this will be executed by not Internet Explorer browsers + $output = ' + + ' . "\n"; + + // this will be executed by Internet Explorer + $output .= '' . "\n"; + + // params will be passed to both IE or not IE browsers + $output .= ' + + + + + + ' + . _video_get_parameters($node) . + '

'. t('Your browser is not able to display this multimedia content.') .'

+
'; // only one needed becouse only one opening tag has been parsed by browsers + + + $output = theme('video_format_play', $output, t('http://windowsupdate.microsoft.com/'), + t('Link to Windows Update'), + t('Download latest Windows Media Player')); + return $output; +} + + + + +/** + * Play Ogg Theora videos with Cortado Applet + * + * @param $node + * object with node information + * + * @return + * string of content to display + */ +function theme_video_play_ogg_theora($node) { + global $base_url; + $cortado_location = variable_get('video_cortado', $base_url . '/cortado.jar'); + $url = _video_get_fileurl($node->vidfile); + + $width = ($node->video_scaled_x ? $node->video_scaled_x : '425'); + $height = ($node->video_scaled_y ? $node->video_scaled_y : '350'); + + $output = ' + + + + + + + + + + + + + + + + + + + + This browser does not have a Java Plug-in.
+ + Get the latest Java Plug-in here. + +
+
+ '; + + $output = theme('video_format_play', $output, + t('http://java.com/download/'), t('Link to java.com'), t('Download Java')); + return $output; +} + -- cgit v1.2.3