From: Alan Jack Pippin <ajp@pippin.(none)>
Date: Fri, 19 Oct 2007 05:35:25 +0000 (-0600)
Subject: Added new watermarkAlignment option and added full path or URL support to image.
X-Git-Tag: 1_1_1~14
X-Git-Url: http://git.pippins.net/%27%20%20%20%20.%20%24GLOBALS%5B%27phpgw%27%5D-%3Elink%28%27inc/jquery/images/static/%7Blink_activity%7D?a=commitdiff_plain;h=5e1dae2697864b504a086c160a605cfc8a45b9fa;p=embedvideo%2F.git

Added new watermarkAlignment option and added full path or URL support to image.
---

diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index 03a54e9..4e517ac 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -70,7 +70,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 	   global $debugOutput, $useInternalFlvPlayer, $youtubeDevId;
 	   global $width, $height, $externalFlvPlayer, $externalFlvPlayerVars;
 	   global $flvThumbnail, $useRemoteSize, $autoStart;
-	   global $watermarkVideos, $watermarkImage;
+	   global $watermarkVideos, $watermarkImage, $watermarkAlignment;
 
 	   /* Find out what value our parameters should have by looking to see if they
             * are defined in our overrides section or default section. If they are not
@@ -89,6 +89,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 	   $autoStart = $this->getParameter($ItemAddEmbedVideo, 'autoStart', "false");
 	   $watermarkImage = $this->getParameter($ItemAddEmbedVideo, 'watermarkImage', "");
 	   $watermarkVideos = $this->getParameter($ItemAddEmbedVideo, 'watermarkVideos', "false");
+	   $watermarkAlignment = $this->getParameter($ItemAddEmbedVideo, 'watermarkAlignment', "center");
 
 	   /* Print our stored/set Parameters */
 	   if(!strcmp($debugOutput,"true")) {
@@ -107,6 +108,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 	     print "autoStart=$autoStart<br>";
 	     print "watermarkVideos=$watermarkVideos<br>";
 	     print "watermarkImage=$watermarkImage<br>";
+	     print "watermarkAlignment=$watermarkAlignment<br>";
 	     print "<hr>";
 	   }
 
@@ -661,31 +663,41 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 	     } else {
 	       $watermarkImage = $gallery2_url.$gallery2_video_watermark;
 	     }
-
+	     
 	     /* Get the watermark Image Extension */
 	     preg_match('/\.(...)$/', $watermarkImage, $matches);
 	     $watermarkExt=$matches[1];
 	     
 	     /*
 	      * Check to make sure the URL to the watermark image file is valid
-	      * (That the file exists at the URL given)
+	      * (That the file exists at the URL given). Skip this part if it is a local path.
 	      */
-	     list ($successfullyCopied, $response, $headers) =
-	       $this->fetchWebFileHeaders($watermarkImage, $extraHeaders);
-	     if (!$successfullyCopied) {
-	       return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
-			    "Unable to find the watermark image at url: $watermarkImage - $response"),NULL,NULL);
-	     }
+	     if(!preg_match("/^\//", $watermarkImage)) {
+	       list ($successfullyCopied, $response, $headers) =
+		 $this->fetchWebFileHeaders($watermarkImage, $extraHeaders);
+	       if (!$successfullyCopied) {
+		 return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+			"Unable to find the watermark image at url: $watermarkImage - $response"),NULL,NULL);
+	       }
 	     
-	     /* Download the watermark image to a local file */
-	     $tmpDir = $gallery->getConfig('data.gallery.tmp');
-	     $watermark = $platform->tempnam($tmpDir, 'wmk_img_');
-	     $watermark.= "." . $watermarkExt;
-	     list ($successfullyCopied, $response, $headers) =
-	       GalleryCoreApi::fetchWebFile($watermarkImage, $watermark, $extraHeaders);
-	     if (!$successfullyCopied) {
-	       return array(GalleryCoreApi::error(ERROR_STORAGE_FAILURE,__FILE__,__LINE__,
-			    "Unable to copy watermark image from url: $watermarkImage - $response"),null,null);
+	       /* Download the watermark image to a local file */
+	       $tmpDir = $gallery->getConfig('data.gallery.tmp');
+	       $watermark = $platform->tempnam($tmpDir, 'wmk_img_');
+	       $watermark.= "." . $watermarkExt;
+	       list ($successfullyCopied, $response, $headers) =
+		 GalleryCoreApi::fetchWebFile($watermarkImage, $watermark, $extraHeaders);
+	       if (!$successfullyCopied) {
+		 return array(GalleryCoreApi::error(ERROR_STORAGE_FAILURE,__FILE__,__LINE__,
+			"Unable to copy watermark image from url: $watermarkImage - $response"),null,null);
+	       }
+	     } else {
+	       $tmpDir = $gallery->getConfig('data.gallery.tmp');
+	       $watermark = $platform->tempnam($tmpDir, 'wmk_img_');
+	       $watermark.= "." . $watermarkExt;
+	       if(!$platform->copy($watermarkImage, $watermark)) {
+		 return array(GalleryCoreApi::error(ERROR_STORAGE_FAILURE,__FILE__,__LINE__,
+			"Unable to copy watermark image from path: $watermarkImage"),null,null);
+	       }
 	     }
 	     
 	     /* See if there is a toolkit installed that can perform a composite operation */
@@ -726,8 +738,9 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 	     /* This has to be done to satisfy the argument requirement for the toolkit operation */
 	     $dataDir = $gallery->getConfig('data.gallery.base');
 	     $dataDir=preg_replace("/\//","\\/",$dataDir);
-	     preg_match("/$dataDir(.*)/", $watermark, $matches);
-	     $watermark = $matches[1];
+	     if(preg_match("/$dataDir(.*)/", $watermark, $matches)) { 
+	       $watermark = $matches[1];
+	     }
 	     
 	     /* General debug output */
 	     if(!strcmp($debugOutput,"true")) {
@@ -747,7 +760,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
 								 $mimeType, 'composite', $newTmpFile, $tmpFile,
 								 array($watermark, $watermarkMimeType,
 								       $watermarkWidth, $watermarkHeight,
-								       'bottom-left', 0, 0));
+								       $watermarkAlignment, 0, 0));
 	     
 	     /* Check the return code of the composite operation */
  	     if ($ret) {
diff --git a/templates/EmbedVideoSiteAdmin.tpl b/templates/EmbedVideoSiteAdmin.tpl
index 56410db..d25226a 100644
--- a/templates/EmbedVideoSiteAdmin.tpl
+++ b/templates/EmbedVideoSiteAdmin.tpl
@@ -148,8 +148,11 @@
     <tr class="gbOdd"><td>watermarkVideos</td><td>true/false</td>
       <td>{g->text text="specify whether you want to apply a watermark to the video thumbnails when they are added."}</td></tr>
 
-    <tr class="gbEven"><td>watermarkImage</td><td>URL path</td>
-      <td>{g->text text="URL path to an alternate image to use as a watermark for all video thumbnails."}</td></tr>
+    <tr class="gbEven"><td>watermarkImage</td><td>URL or local path</td>
+      <td>{g->text text="URL or local path to an alternate image to use as a watermark for all video thumbnails."}</td></tr>
+
+    <tr class="gbEven"><td>watermarkAlignment</td><td>alignment</td>
+      <td>{g->text text="Specify the watermark alignment: top-left, top, top-right, left, center, right, bottom-left, bottom, bottom-right"}</td></tr>
 
 
   </table>