/plugins/hwdvs-thirdparty/google.view.php
PHP | 282 lines | 182 code | 39 blank | 61 comment | 60 complexity | 1cb485de542a040f82b6ffbb3a7136ab MD5 | raw file
- <?php
- /**
- * @version [ Nightly Build ]
- * @package hwdVideoShare
- * @copyright (C) 2007 - 2011 Highwood Design
- * @license Creative Commons Attribution-Non-Commercial-No Derivative Works 3.0 Unported Licence
- * @license http://creativecommons.org/licenses/by-nc-nd/3.0/
- */
- defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );
- /**
- * Prepares the code to insert the third party video
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $flv_width the video width
- * @param int $flv_height the video height
- * @return $code the third party embed code
- */
- function googleComPrepareVideo($row, $flv_width=null, $flv_height=null, $autostart=null)
- {
- global $smartyvs, $task, $show_video_ad, $pre_url, $post_url;
- if (!defined('HWDVIDSPATH')) { define('HWDVIDSPATH', dirname(__FILE__).'/../../'); }
- $c = hwd_vs_Config::get_instance();
- $code=null;
- if (@explode(",", $row->video_id)) {
- $data = explode(",", $row->video_id);
- $videocode = $data[0];
- } else {
- return $code;
- }
- if ($c->playlocal == "1") {
- $truepath = googleComPrepareFlvURL($row->video_id);
- } else {
- $truepath = '';
- }
- $file_ext = substr($row->thumbnail, strrpos($row->thumbnail, '.') + 1);
- $thumb_url = hwd_vs_tools::generatePlayerThumbnail($row);
- //$thumb_url = hwd_vs_tools::get_final_url( $thumb_url );
- //$thumb_url = urlencode( $thumb_url );
- if ($c->hwdvids_videoplayer_file == "flow") {
- // temp fix for problem with Google thumbs in flow player
- $thumb_url = null;
- }
- if (!empty($truepath) && $c->playlocal == "1") {
- $player = new hwd_vs_videoplayer();
- if ($show_video_ad == 1) {
- if ($c->hwdvids_videoplayer_file == "flow") {
- $flv_tracks = array();
- $flv_tracks[0] = $pre_url;
- $flv_tracks[1] = $truepath;
- $flv_tracks[2] = $post_url;
- $code.= $player->prepareEmbeddedPlayer($flv_tracks, $flv_width, $flv_height, rand(100, 999), "playlist", null, null, null);
- return $code;
- } else {
- $xspf_playlist = JPATH_SITE."/components/com_hwdvideoshare/xml/xspf/".$row->id.".xml";
- @unlink($xspf_playlist);
- require_once(HWDVIDSPATH.'/../../administrator/components/com_hwdrevenuemanager/redrawplaylist.class.php');
- hwd_rm_playlist::writeFile($row, $truepath, $pre_url, $post_url, $thumb_url);
- if (file_exists($xspf_playlist)) {
- $flv_url = JURI::root(true)."/components/com_hwdvideoshare/xml/xspf/".$row->id.".xml";
- $flv_path = HWDVIDSPATH.'/xml/xspf/'.$row->id.'.xml';
- if ($c->loadswfobject == "on" && $task !=="grabjomsocialplayer") {
- $code.= $player->prepareplayer($flv_url, $flv_width, $flv_height, rand(100, 999), "playlist", $flv_path, null, $autostart);
- } else {
- $code.= $player->prepareEmbeddedPlayer($flv_url, $flv_width, $flv_height, rand(100, 999), "playlist", $flv_path, null, $autostart);
- }
- return $code;
- }
- }
- }
- if ($c->loadswfobject == "on") {
- $code.= $player->prepareplayer($truepath, $flv_width, $flv_height, rand(100, 999), "video", null, $thumb_url, $autostart);
- } else {
- $code.= $player->prepareEmbeddedPlayer($truepath, $flv_width, $flv_height, rand(100, 999), "video", null, $thumb_url, $autostart);
- }
- return $code;
- } else {
- if ($flv_width==null) {
- $smartyvs->assign("player_width", $c->flvplay_width);
- $flv_width = $c->flvplay_width."px";
- } else {
- $smartyvs->assign("player_width", $flv_width);
- if (preg_match("/%/", $flv_width)) {
- $flv_width = $flv_width;
- } else {
- $flv_width = $flv_width."px";
- }
- }
- if ($flv_height==null) {
- $flv_height = intval ($flv_width*$c->var_fb);
- $flv_height = $flv_height+27;
- $flv_height = $flv_height."px";
- } else {
- if (preg_match("/%/", $flv_height)) {
- $flv_height = $flv_height;
- } else {
- $flv_height = $flv_height."px";
- }
- }
- $code = "<embed id=\"VideoPlayback\" src=\"http://video.google.com/googleplayer.swf?docid=".$videocode."&hl=en&fs=true\" style=\"width:".$flv_width.";height:".$flv_height."\" allowFullScreen=\"true\" allowScriptAccess=\"always\" wmode=\"transparent\" type=\"application/x-shockwave-flash\"></embed>";
- return $code;
- }
- return $code;
- }
- /**
- * Prepares the code to insert the third party thumbnail image
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $vid the video database id
- * @param int $Itemid the joomla menu id
- * @param int $k the alternating CSS integer
- * @return $code the full third party thumbnail image tag
- */
- function googleComPrepareThumb($option, $vid, $Itemid, $k, $width=null, $height=null, $class=null, $tooltip_data=null)
- {
- if (!isset($width)) {
- $width = $c->thumbwidth;
- }
- if (!isset($height)) {
- $height = $width*$c->tar_fb;
- }
- $code = "<img src=\"".googleComPrepareThumbURL($option, $vid)."\" border=\"0\" width=\"".$width."\" height=\"".$height."\" title=\"".$tooltip_data[1]." :: ".$tooltip_data[2]."\" class=\"".$class."\" />";
- return $code;
- }
- /**
- * Prepares the code to insert the third party thumbnail image
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $vid the video database id
- * @param int $Itemid the joomla menu id
- * @param int $k the alternating CSS integer
- * @return $code the full third party thumbnail image tag
- */
- function googleComPrepareThumbURL($option, $vid)
- {
- $data = explode(",", $option);
- $thumbnail = @$data[1];
- if (!$thumbnail) {
- $code = URL_HWDVS_IMAGES.'default_thumb.jpg';
- } else {
- $code = $thumbnail;
- }
- return $code;
- }
- /**
- * Prepares the third party video link
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $vid the video database id
- * @param int $Itemid the joomla menu id
- * @return $code the full third party thumbnail image tag
- */
- function googleComPrepareVideoURL($option)
- {
- if (@explode(",", $option)) {
- $data = explode(",", $option);
- $videocode = $data[0];
- } else { $videocode = "ERROR"; }
- $code = "http://video.google.com/videoplay?docid=".$videocode;
- return $code;
- }
- /**
- * Prepares the third party video embed code
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $vid the video database id
- * @param int $Itemid the joomla menu id
- * @return $code the full third party thumbnail image tag
- */
- function googleComPrepareVideoEmbed($option, $vid, $Itemid)
- {
- global $mosConfig_sitename, $mosConfig_live_site;
- $c = hwd_vs_Config::get_instance();
- if (@explode(",", $option)) {
- $data = explode(",", $option);
- $videocode = $data[0];
- } else { $videocode = "ERROR"; }
- $code = null;
- if ($c->embedreturnlink == 1) {
- $code.='<div><center>';
- }
- $code.= "<embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=".$videocode."&hl=en" flashvars=""> </embed>";
- if ($c->embedreturnlink == 1) {
- $jconfig = new jconfig();
- $code.='<br /><a href="'.JURI::root().'index.php?option=com_hwdvideoshare&Itemid='.$Itemid.'" title="'.$jconfig->sitename.'">'.$jconfig->sitename.'</a></center></div>';
- }
- return $code;
- }
- /**
- * Prepares the third party video embed code
- *
- * @param string $option the $video_id output containing video paramters
- * @param int $vid the video database id
- * @param int $Itemid the joomla menu id
- * @return $code the full third party thumbnail image tag
- */
- function googleComPrepareFlvURL($option)
- {
- global $mosConfig_sitename, $mosConfig_live_site;
- $c = hwd_vs_Config::get_instance();
- if (@explode(",", $option)) {
- $data = explode(",", $option);
- $videocode = $data[0];
- } else { $videocode = "ERROR"; }
- $code=null;
- $truepath = '';
- $feedurl = "http://video.google.com/videofeed?docid=".$data[0];
- if (function_exists('curl_init')) {
- // get thumbnail URL with CURL
- $curl_handle=curl_init();
- curl_setopt($curl_handle,CURLOPT_URL,$feedurl);
- curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
- curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
- $buffer = curl_exec($curl_handle);
- curl_close($curl_handle);
- if (empty($buffer)) {
- $truepath = '';
- } else {
- preg_match_all('/<media:content url="([^"]+)/',$buffer,$matches, PREG_PATTERN_ORDER);
- if (!empty($matches[1][1])) {
- foreach ($matches[1] as $url) {
- if (!preg_match("/googleplayer.swf/i", $url) && !preg_match("/videofeed/i", $url)) {
- $truepath = $url;
- $truepath = str_replace('amp;','',$truepath);
- }
- }
- } else {
- $truepath = '';
- }
- }
- }
- if (isset($truepath) && !empty($truepath)) {
- $truepath = hwd_vs_tools::get_final_url( $truepath );
- $filegrab = @file_get_contents($truepath, null, null, 0, 16);
- $filecheck = @stripos($filegrab, "flv");
- if (isset($truepath) && !empty($truepath) && $filecheck !== false) {
- $truepath = urlencode( $truepath );
- } else {
- return false;
- }
- }
- return $truepath;
- }
- ?>