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=983ec79d041f82e00dcbb2c4968928f06d7ade98;hb=26f4eaa28c1a947b5e1f8f58f1cd653596e2253d;hp=28d4a809bee049b1e6a63813bc8aa235a9aed917;hpb=b1952ee04d2ae62ede96d5c61ab096cd237c1c3b;p=embedvideo%2F.git
diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index 28d4a80..983ec79 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -18,6 +18,9 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
+GalleryCoreApi::requireOnce('modules/gd/classes/GdToolkitHelper.class');
+
+
/**
* This plugin will handle the addition of embedded video objects
* @package embedVideo
@@ -82,18 +85,37 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$flvThumbnail = $this->getParameter($ItemAddEmbedVideo, 'flvThumbnail', "");
$useRemoteSize = $this->getParameter($ItemAddEmbedVideo, 'useRemoteSize', "false");
$autoStart = $this->getParameter($ItemAddEmbedVideo, 'autoStart', "false");
-
+
+ /* Print our stored/set Parameters */
+ if(!strcmp($debugOutput,"true")) {
+ print "
";
+ print "Variable Parameters
";
+ print "debugOutput=$debugOutput
";
+ print "useInternalFlvPlayer=$useInternalFlvPlayer
";
+ print "youtubeDevId=$youtubeDevId
";
+ print "width=$width
";
+ print "height=$height
";
+ print "externalFlvPlayer=$externalFlvPlayer
";
+ print "externalFlvPlayerVars=$externalFlvPlayerVars
";
+ print "flvThumbnail=$flvThumbnail
";
+ print "useRemoteSize=$useRemoteSize
";
+ print "autoStart=$autoStart
";
+ print "
";
+ }
+
/* Store other string constants we'll use later */
/* youtube */
$youtubeUrlPattern="youtube.com";
$youtubeApiUrl="http://www.youtube.com/api2_rest";
+ /* We can't extract the server size from youtube */
$youtubeWidth="425";
$youtubeHeight="350";
/* google */
$googleUrlPattern="video.google.com";
$googlePlayer="http://video.google.com/googleplayer.swf";
+ /* We can't extract the server size from google video */
$googleWidth="400";
$googleHeight="326";
@@ -149,7 +171,9 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
}
if(!strcmp($debugOutput,"true")) {
+ print "Youtube XML Dump
";
print "$xml";
+ print "
";
}
/* Extract certain information from the xml feed */
@@ -249,10 +273,10 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
}
/* Format the description to hold a reference to the embedded video */
- $description = '';
$description.= "
$summary";
@@ -482,17 +506,13 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$tmpDir = $gallery->getConfig('data.gallery.tmp');
$tmpFile = $platform->tempnam($tmpDir, 'add');
$tmpFile.= ".jpg";
-
- if(!strcmp($debugOutput,"true")) {
- print "thumbnail: $thumbnail
";
- }
-
+
/* Fetch the thumbnail and save it to a local file */
list ($successfullyCopied, $response, $headers) =
GalleryCoreApi::fetchWebFile($thumbnail, $tmpFile, $extraHeaders);
if (!$successfullyCopied) {
return array(GalleryCoreApi::error(ERROR_STORAGE_FAILURE,__FILE__,__LINE__,
- "Unable to copy thumbnail from url: $url - $response"),null,null);
+ "Unable to copy thumbnail from url: $thumbnail - $response"),null,null);
}
/* Obtain the mimeType of the thumbnail */
@@ -507,18 +527,53 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
/* General debug output */
if(!strcmp($debugOutput,"true")) {
+ print "Item Parameters
";
+ print "url: $url
";
print "title: $title
";
- print "";
- print "\n".$summary."
";
- print "$description
";
+ print "thumbnailUrl: \n".$summary."";
+ print "description: $description
";
print "thumbnail: $tmpFile
";
print "mimeType: $mimeType
";
print "fileName: $fileName
";
- print "
Video Successfully Added to your Gallery Album
";
+ print "width: $width
";
+ print "height: $height
";
+ print "
";
}
+ /* Resize the thumbnail image to the size indicated by our album */
+ $debugString="";
+ list ($ret, $toolkit) = GalleryCoreApi::getToolkitByOperation($mimeType, 'resize');
+ if (!$ret) {
+ $debugString.="Checking to see if a toolkit that can resize images was found.
";
+ if (isset($toolkit)) {
+ $newTmpFile = $platform->tempnam($tmpDir, 'add');
+ $newTmpFile.= ".jpg";
+ $thumbnailSize = 150;
+ list ($ret, $preferences) =
+ GalleryCoreApi::fetchDerivativePreferencesForItem($item->getId());
+ if(!$ret) {
+ foreach ($preferences as $preference) {
+ if (preg_match('/thumbnail\|(\d+)/',
+ $preference['derivativeOperations'], $matches)) {
+ $thumbnailSize = $matches[1];
+ $debugString.="Found thumbnail size in album preferences: $thumbnailSize
";
+ break;
+ }
+ }
+ }
+ $debugString.="Resizing thumbnail image to $thumbnailSize: $tmpFile -> $newTmpFile
";
+ $toolkit->performOperation($mimeType, 'resize', $tmpFile, $newTmpFile,
+ array($thumbnailSize,$thumbnailSize));
+ }
+ }
+ if(!strcmp($debugOutput,"true")) {
+ print "Thumbnail Resize
";
+ print "$debugString";
+ print "
";
+ }
+
/* Make the gallery2 call to add this item to the album */
- list ($ret, $newItem) = GalleryCoreApi::addItemToAlbum($tmpFile,
+ list ($ret, $newItem) = GalleryCoreApi::addItemToAlbum($newTmpFile,
$fileName,
$title,
$summary,
@@ -533,8 +588,18 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$status['addedFiles'][] = array('fileName' => $url,
'id' => $newItem->getId(),
'warnings' => array());
+
+ if(!strcmp($debugOutput,"true")) {
+ print "
Video Successfully Added to your Gallery Album
";
+ }
}
- @$platform->unlink($tmpFile);
+
+ /* Keep the tmpfiles around if we are in debug mode. Otherwise, remove them. */
+ if(!strcmp($debugOutput,"false")) {
+ @$platform->unlink($tmpFile);
+ @$platform->unlink($newTmpFile);
+ }
+
}
return array(null, $error, $status);