X-Git-Url: http://git.pippins.net/embedvideo/.git/static/gitweb.js?a=blobdiff_plain;f=ItemAddEmbedVideo.inc;h=2ba1adf30853a3884883c3e4d30ccdf289c697da;hb=3fb911a7d807b2abdf42af143e40f45fa4786c30;hp=6fd4281c91b406e317207b9b5c02480cb30b19d5;hpb=f5edb7ed0c0dd0fd870950f838af0ed965c82238;p=embedvideo%2F.git diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc index 6fd4281..2ba1adf 100644 --- a/ItemAddEmbedVideo.inc +++ b/ItemAddEmbedVideo.inc @@ -92,7 +92,9 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $watermarkAlignment = $this->getParameter($ItemAddEmbedVideo, 'watermarkAlignment', "left"); $wordwrapSummary = $this->getParameter($ItemAddEmbedVideo, 'wordwrapSummary', "0"); $wordwrapDescription = $this->getParameter($ItemAddEmbedVideo, 'wordwrapDescription', "0"); - + $allowFullScreen = $this->getParameter($ItemAddEmbedVideo, 'allowFullScreen', "false"); + $centerVideo = $this->getParameter($ItemAddEmbedVideo, 'centerVideo', "false"); + /* Print our stored/set Parameters */ if(!strcmp($debugOutput,"true")) { print "\n
"; @@ -112,13 +114,15 @@ class ItemAddEmbedVideo extends ItemAddPlugin { print "watermarkAlignment=$watermarkAlignment
\n"; print "wordwrapSummary=$wordwrapSummary
\n"; print "wordwrapDescription=$wordwrapDescription
\n"; + print "allowFullScreen=$allowFullScreen
\n"; + print "centerVideo=$centerVideo\n"; print "
\n"; } /* Store other string constants we'll use later */ /* youtube */ - $youtubeUrlPattern="youtube.com"; + $youtubeUrlPattern="youtube"; $youtubeApiUrl="http://gdata.youtube.com/feeds/api/"; $youtubeThumbnailUrl="http://img.youtube.com/vi/"; /* We can't extract the server size from youtube */ @@ -126,43 +130,46 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $youtubeHeight="350"; /* google */ - $googleUrlPattern="video.google.com"; + $googleUrlPattern="video.google"; $googlePlayer="http://video.google.com/googleplayer.swf"; /* We can't extract the server size from google video */ $googleWidth="400"; $googleHeight="326"; /* yahoo */ - $yahooUrlPattern="video.yahoo.com"; + $yahooUrlPattern="video.yahoo"; $yahooThumbnailUrl="http://thmg01.video.search.yahoo.com/image/"; /* metacafe */ - $metacafeUrlPattern="metacafe.com"; + $metacafeUrlPattern="metacafe"; $metacafeThumbnailUrl="http://www.metacafe.com/thumb/"; /* revver */ - $revverUrlPattern="revver.com"; + $revverUrlPattern="revver"; $revverThumbnailUrl="http://frame.revver.com/frame/120x90/"; /* dailymotion */ - $dailymotionUrlPattern="dailymotion.com"; + $dailymotionUrlPattern="dailymotion"; $dailymotionThumbnailUrl="http://www.dailymotion.com/thumbnail/160x120/video/"; /* divshare */ - $divshareUrlPattern="divshare.com"; + $divshareUrlPattern="divshare"; $divshareThumbnailUrl="http://www.divshare.com/direct/video_thumb/"; /* stickam */ - $stickamUrlPattern="stickam.com"; + $stickamUrlPattern="stickam"; $stickamThumbnailUrl="http://static.stickam.com/"; /* myspace */ - $myspaceUrlPattern="vids.myspace.com"; - $myspaceUrlPattern2="myspacetv.com"; + $myspaceUrlPattern="vids.myspace"; + $myspaceUrlPattern2="myspacetv"; $myspaceThumbnailUrl="http://mediaservices.myspace.com/services/rss.ashx?type=video&videoID="; /* vimeo */ $vimeoUrlPattern="vimeo.com"; + + /* animoto */ + $animotoUrlPattern="animoto.com"; /* Gallery2 specific paths and variables */ $urlGenerator =& $gallery->getUrlGenerator(); @@ -175,8 +182,12 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $unsupported_url=0; /* Store the passed URL in a shorter local variable */ + /* Strip trailing whitespace in the url, this will cause problems later */ $url = $form['webPage']['URL']; - + if(preg_match("/(.*?)\s+/",$url,$matches)) { + $url = $matches[1]; + } + /* ***************************** * Embed a Youtube Video @@ -203,11 +214,15 @@ class ItemAddEmbedVideo extends ItemAddPlugin { /* Handle the high quality format information */ if(preg_match("/fmt=(\d+)/",$extra_params,$matches)) { $extra_params="&ap=%2526fmt%3D".$matches[1]; + if(!strcmp($matches[1],"22")) { + //$youtubeWidth=1280; + //$youtubeHeight=720; + } } } /* Youtube api feed */ - $feed = $youtubeApiUrl."videos/$video_id"; + $feed = $youtubeApiUrl."videos/".urlencode($video_id); if(!strcmp($debugOutput,"true")) { print "\n

Youtube URL Parsing Results

"; @@ -283,15 +298,26 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $youtubeShowRelatedStr="&rel=0"; } + /* Determine if the video should show related videos or not based on the youtubeShowRelated parameter */ + $fullScreenStr=""; + $fullScreenParamStr1=""; + $fullScreenParamStr2=""; + if(!strcmp($allowFullScreen,"true")) { + $fullScreenStr="&fs=1"; + $fullScreenParamStr1=""; + $fullScreenParamStr2=" allowfullscreen=\"true\""; + } + /* Format the description to hold a reference to the embedded video */ $description = ''; $description.= ''; $description.= ''; + $description.= $fullScreenParamStr1; $description.= ''; + $description.= 'width="'.$width.'" height="'.$height.'"'.$fullScreenParamStr2.'>'; /* ********************************** @@ -331,12 +357,13 @@ class ItemAddEmbedVideo extends ItemAddPlugin { } /* Extract the thumbnail URL from the webpage contents */ - preg_match('/thumbnail: \'(http:\/\/.*?\/ThumbnailServer2.+?)\'/i', + preg_match('/\'.+?thumbnail.+?(http:\/\/.*?\/ThumbnailServer2.+?)\'/i', $contents, $matches); $thumbnail=$matches[1]; $thumbnail=preg_replace("/\\\\x26/","&",$thumbnail); $thumbnail=preg_replace("/\\\\x3d/","=",$thumbnail); - + $thumbnail=urldecode($thumbnail); + /* Determine what our width and height should be based on our useRemoteSize parameter */ if(!strcmp($useRemoteSize,"true")) { $width = $googleWidth; @@ -372,7 +399,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { "Unable to extract vid id from url: $url"),null,null); } - /* Grab the contents of the webpage used to display the video on video.google.com */ + /* Grab the contents of the webpage used to display the video */ list ($successfullyCopied, $contents, $response, $headers) = GalleryCoreApi::fetchWebPage($url, $extraHeaders); if (!$successfullyCopied) { @@ -422,7 +449,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { "Unable to extract item id from url: $url"),null,null); } - /* Grab the contents of the webpage used to display the video on video.google.com */ + /* Grab the contents of the webpage used to display the video */ list ($successfullyCopied, $contents, $response, $headers) = GalleryCoreApi::fetchWebPage($url, $extraHeaders); if (!$successfullyCopied) { @@ -462,7 +489,6 @@ class ItemAddEmbedVideo extends ItemAddPlugin { ********************************** * Embed a Revver Video ********************************** - * TODO: The autoStart parameter doesn't work with the yahoo video player */ } else if(preg_match("/$revverUrlPattern/",$url)) { @@ -475,7 +501,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { "Unable to extract item id from url: $url"),null,null); } - /* Grab the contents of the webpage used to display the video on video.google.com */ + /* Grab the contents of the webpage used to display the video */ list ($successfullyCopied, $contents, $response, $headers) = GalleryCoreApi::fetchWebPage($url, $extraHeaders); if (!$successfullyCopied) { @@ -520,7 +546,6 @@ class ItemAddEmbedVideo extends ItemAddPlugin { ********************************** * Embed a DailyMotion Video ********************************** - * TODO: The autoStart parameter doesn't work with the yahoo video player */ } else if(preg_match("/$dailymotionUrlPattern/",$url)) { @@ -533,7 +558,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { "Unable to extract item id from url: $url"),null,null); } - /* Grab the contents of the webpage used to display the video on video.google.com */ + /* Grab the contents of the webpage used to display the video */ list ($successfullyCopied, $contents, $response, $headers) = GalleryCoreApi::fetchWebPage($url, $extraHeaders); if (!$successfullyCopied) { @@ -553,7 +578,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $thumbnail=$dailymotionThumbnailUrl.$item_id; /* Format the description to hold a reference to the embedded video */ - if(preg_match('/