X-Git-Url: http://git.pippins.net/embedvideo/.git/%27%20%20%20%20.%20%24GLOBALS%5B%27phpgw%27%5D-%3Elink%28%27inc/jquery/jquery.tablesorter.css%27%29.%27?a=blobdiff_plain;f=ItemAddEmbedVideo.inc;h=0e277a490427e598fda49ef8a32c2473ca12118b;hb=64b39254630e685dc3a8b6c9f2b8bda3b27e88f6;hp=ac3f12ad3d83091c4ea61e318440e957614ef3e7;hpb=8870ef4a2301f397d4b71da6ac25f4e2e5564199;p=embedvideo%2F.git
diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index ac3f12a..0e277a4 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -161,6 +161,9 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$myspaceUrlPattern="vids.myspace.com";
$myspaceUrlPattern2="myspacetv.com";
$myspaceThumbnailUrl="http://mediaservices.myspace.com/services/rss.ashx?type=video&videoID=";
+
+ /* vimeo */
+ $vimeoUrlPattern="www.vimeo.com";
/* Gallery2 specific paths and variables */
$urlGenerator =& $gallery->getUrlGenerator();
@@ -178,14 +181,33 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
*****************************
*/
if(preg_match("/$youtubeUrlPattern/",$url)) {
-
+
/* Make sure we can find a video_id in the URL */
- if(preg_match("/watch\?v=(.*)/",$url,$matches)) {
+ $extra_params = "";
+ if(preg_match("/watch\?v=(.*?)(&\S+=\S+)/",$url,$matches)) {
+ $video_id = $matches[1];
+ $extra_params = $matches[2];
+ } else if (preg_match("/watch\?v=(.*)/",$url,$matches)) {
$video_id = $matches[1];
} else {
return array(GalleryCoreApi::error(ERROR_BAD_PARAMETER,__FILE__,__LINE__,
"Unable to extract video id from url: $url"),null,null);
}
+
+ /* If extra params were given, handle them here */
+ if(strcmp($extra_params,"")) {
+ /* Handle the HD format information */
+ if(preg_match("/fmt=(\d+)/",$extra_params,$matches)) {
+ $extra_params="&ap=%2526fmt%3D".$matches[1];
+ }
+ }
+
+ if(!strcmp($debugOutput,"true")) {
+ print "
URL Parsing Results
";
+ print "video_id: $video_id ";
+ print "extra_embed_params: $extra_params ";
+ print "";
+ }
/* If we have a valid youtube developer id, use that to get information about the video */
/* Otherwise, just parse it directly from the HTML page */
@@ -235,7 +257,8 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$description=preg_replace("/</","<",$description);
$description=preg_replace("/>/",">",$description);
$description=preg_replace("/&/","&",$description);
- $description=preg_replace("/&rel=1/",$autoStartStr.$youtubeShowRelatedStr,$description);
+ $description=preg_replace("/$video_id/",$video_id.$autoStartStr.$youtubeShowRelatedStr,$description);
+ $description=preg_replace("/$video_id/",$video_id.$extra_params,$description);
if(!strcmp($useRemoteSize,"false")) {
$description=preg_replace("/width='\d+'/","width='".$width."'",$description);
$description=preg_replace("/height='\d+'/","height='".$height."'",$description);
@@ -313,10 +336,10 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
/* Format the description to hold a reference to the embedded video */
$description = '';
}
@@ -761,7 +784,72 @@ 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 Vimeo Video
+ **********************************
+ */
+ } else if(preg_match("/$vimeoUrlPattern/",$url)) {
+
+ /* Make sure we can extract a docID */
+ if(preg_match("/$vimeoUrlPattern\/(.*)/",$url,$matches)) {
+ $video_id = $matches[1];
+ } 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('/';
+ $description.= '';
+ $description.= '';
+ $description.= '';
+ $description.= '';
+ $description.= '';
+
/*
**********************************
* Embed a remote .swf file