X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;ds=sidebyside;f=ItemAddEmbedVideo.inc;h=46e290b2904cce8df84ef9154ef40e36cc34e1d4;hb=3feb31a7ea3788264c4fe4dbd30e531a4c5960fd;hp=319a98efc03848c0bd699d75a584c0d7585d8b87;hpb=1b1822456d66be4761748a02d9f1d9e8caefb8be;p=embedvideo%2F.git
diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index 319a98e..46e290b 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -148,6 +148,15 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
/* divshare */
$divshareUrlPattern="divshare.com";
$divshareThumbnailUrl="http://www.divshare.com/direct/video_thumb/";
+
+ /* stickam */
+ $stickamUrlPattern="stickam.com";
+ $stickamThumbnailUrl="http://static.stickam.com/";
+
+ /* myspace */
+ $myspaceUrlPattern="vids.myspace.com";
+ $myspaceUrlPattern2="myspacetv.com";
+ $myspaceThumbnailUrl="http://mediaservices.myspace.com/services/rss.ashx?type=video&videoID=";
/* Gallery2 specific paths and variables */
$urlGenerator =& $gallery->getUrlGenerator();
@@ -636,7 +645,131 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
"Unable to extract embedded video information from url: $url"),NULL,NULL);
}
+
+
+
+ /*
+ **********************************
+ * Embed a StickAm Video
+ **********************************
+ */
+ } else if(preg_match("/$stickamUrlPattern/",$url)) {
+
+ /* Make sure we can extract a itemID */
+ if(preg_match("/mId=(.+)/",$url,$matches)) {
+ $item_id = $matches[1];
+ $item_id=preg_replace("/\/$/","",$item_id);
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PARAMETER,__FILE__,__LINE__,
+ "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 */
+ $url=preg_replace("/&/","&",$url);
+ list ($successfullyCopied, $contents, $response, $headers) =
+ GalleryCoreApi::fetchWebPage($url, $extraHeaders);
+ if (!$successfullyCopied) {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to get video information at url: $url - $response"),NULL,NULL);
+ }
+
+ /* Extract the summary from the webpage contents */
+ preg_match('//i', $contents, $matches);
+ $summary=$matches[1];
+
+ /* Extract the title from the webpage contents */
+ preg_match('//i', $contents, $matches);
+ $title=$matches[1];
+ /* Build the thumbnail URL from the item_id */
+ if(preg_match('/movieName=(.+?)&userId=/i', $contents, $matches)) {
+ $thumbnail_url=$matches[1];
+ $thumbnail_url=preg_replace("/%2F/","/",$thumbnail_url);
+ $thumbnail=$stickamThumbnailUrl.$thumbnail_url.".jpg";
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to extract thumbnail from url: $url"),NULL,NULL);
+ }
+
+ /* Format the description to hold a reference to the embedded video */
+ if(preg_match('/input type.+?'.$item_id.'.+?value="(.+?)"/', $contents, $matches)) {
+ $description=$matches[1];
+ $description=preg_replace("/"/","'",$description);
+ $description=preg_replace("/</","<",$description);
+ $description=preg_replace("/>/",">",$description);
+ if(!strcmp($useRemoteSize,"false")) {
+ $description=preg_replace("/width='\d+'/","width='".$width."'",$description);
+ $description=preg_replace("/height='\d+'/","height='".$height."'",$description);
+ }
+ $description.= "
$summary";
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to extract embedded video information from url: $url"),NULL,NULL);
+ }
+
+ /*
+ **********************************
+ * Embed a Myspace Video
+ **********************************
+ */
+ } else if(preg_match("/($myspaceUrlPattern|$myspaceUrlPattern2)/",$url)) {
+
+ /* Make sure we can extract a itemID */
+ if(preg_match("/videoid=(.+)/i",$url,$matches)) {
+ $video_id = $matches[1];
+ $video_id=preg_replace("/\/$/","",$video_id);
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PARAMETER,__FILE__,__LINE__,
+ "Unable to extract video id from url: $url"),null,null);
+ }
+
+ /* Grab the contents of the webpage used to display the video on video.google.com */
+ list ($successfullyCopied, $contents, $response, $headers) =
+ GalleryCoreApi::fetchWebPage($url, $extraHeaders);
+ if (!$successfullyCopied) {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to get video information at url: $url - $response"),NULL,NULL);
+ }
+
+ /* Extract the summary from the webpage contents */
+ preg_match('/class="description" id="vid_description">(.+?)<\/div>/i', $contents, $matches);
+ $summary=$matches[1];
+
+ /* Extract the title from the webpage contents */
+ preg_match('/
$summary
\n"; print "description:$description
\n"; print "thumbnail: $tmpFile