X-Git-Url: http://git.pippins.net/embedvideo/.git/static/git-logo.png?a=blobdiff_plain;ds=sidebyside;f=ItemAddEmbedVideo.inc;h=69ee24dbd4ef0740c728f01976db142b6f1e53b9;hb=653677bb9ae1936fab463406830f01443a2e674f;hp=319a98efc03848c0bd699d75a584c0d7585d8b87;hpb=1b1822456d66be4761748a02d9f1d9e8caefb8be;p=embedvideo%2F.git
diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index 319a98e..69ee24d 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -90,6 +90,8 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$watermarkImage = $this->getParameter($ItemAddEmbedVideo, 'watermarkImage', "");
$watermarkVideos = $this->getParameter($ItemAddEmbedVideo, 'watermarkVideos', "false");
$watermarkAlignment = $this->getParameter($ItemAddEmbedVideo, 'watermarkAlignment', "left");
+ $wordwrapSummary = $this->getParameter($ItemAddEmbedVideo, 'wordwrapSummary', "0");
+ $wordwrapDescription = $this->getParameter($ItemAddEmbedVideo, 'wordwrapDescription', "0");
/* Print our stored/set Parameters */
if(!strcmp($debugOutput,"true")) {
@@ -109,6 +111,8 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
print "watermarkVideos=$watermarkVideos
\n";
print "watermarkImage=$watermarkImage
\n";
print "watermarkAlignment=$watermarkAlignment
\n";
+ print "wordwrapSummary=$wordwrapSummary
\n";
+ print "wordwrapDescription=$wordwrapDescription
\n";
print "
(.+?)<\/div>/i', $contents, $matches);
$summary=$matches[1];
/* Extract the title from the webpage contents */
preg_match('/
/i', $contents, $matches);
- $title=$matches[1];
+ $title=htmlentities($matches[1], ENT_QUOTES, "UTF-8");
/* Build the thumbnail URL from the item_id */
$thumbnail=$dailymotionThumbnailUrl.$item_id;
@@ -581,7 +588,6 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$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);
@@ -631,12 +637,131 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$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 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);
+ }
+ } 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('/
(.+?)<\/h1>/i', $contents, $matches);
+ $title=$matches[1];
+
+ /* Build the thumbnail URL from the item_id */
+ $video_info_url=$myspaceThumbnailUrl.$video_id;
+ list ($successfullyCopied, $video_info, $response, $headers) =
+ GalleryCoreApi::fetchWebPage($video_info_url, $extraHeaders);
+ if (!$successfullyCopied) {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to get video information at url: $url - $response"),NULL,NULL);
+ }
+ if(preg_match('/thumbnail url="(.+?)"/',$video_info, $matches)) {
+ $thumbnail = $matches[1];
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to extract thumbnail information from url: $url"),NULL,NULL);
+ }
+
+ /* Format the description to hold a reference to the embedded video */
+ if(preg_match('/(<embed src.+?\/embed>)/', $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);
+ }
+ } else {
+ return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+ "Unable to extract embedded video information from url: $url"),NULL,NULL);
+ }
+
/*
**********************************
* Embed a remote .swf file
@@ -825,13 +950,27 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$fileName = preg_replace("/'/","",$fileName);
$fileName = preg_replace("/\"/","",$fileName);
$fileName = preg_replace("/\d+;/","",$fileName);
+
+ /* Wordwrap the description or summary as appropriate */
+ $description_summary = $summary;
+
+ if(strcmp($wordwrapSummary,"0")) {
+ $summary = wordwrap($summary,$wordwrapSummary,"
",FALSE);
+ }
+
+ if(strcmp($wordwrapDescription,"0")) {
+ $description_summary = wordwrap($description_summary,$wordwrapDescription,"
",FALSE);
+ }
+
+ /* Tack on the summary to the end of the description */
+ $description.= "
$description_summary";
/* General debug output */
if(!strcmp($debugOutput,"true")) {
print "\nItem Parameters
\n";
print "url: $url
\n";
print "title: $title
\n";
- print "thumbnailUrl:
\n";
+ print "thumbnailUrl: $thumbnail
\n";
print "summary:
$summary
\n";
print "description:
$description
\n";
print "thumbnail: $tmpFile
\n";