Improved usage output. Increased version to 1.0.1
[embedvideo/.git] / ItemAddEmbedVideo.inc
index c0d355dc927a11fa18e5b6bb49a3a3486b5ccd32..7b79cc28c737b462202c1aa0db93e46de9a9e355 100644 (file)
@@ -58,22 +58,27 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
                   foreach ($variablesArray as $variable) {
                       list ($name, $value) = explode('=', $variable);
                       $ItemAddEmbedVideo[$type][$name] = $value;
+                      /* print "type: $type name: $name value: $value <br>"; */
                   }
               }
           }
           
           /* Store any Parameters into some simpler, shorter, local variables */
-          $debugOutput = $ItemAddEmbedVideo['default']['debugOutput'];
-          $useInternalFlvPlayer = $ItemAddEmbedVideo['default']['useInternalFlvPlayer'];
-          $youtubeDevId = $ItemAddEmbedVideo['default']['youtubeDevId'];
-          $width=$ItemAddEmbedVideo['default']['width'];
-          $height=$ItemAddEmbedVideo['default']['height'];
-          $externalFlvPlayer = $ItemAddEmbedVideo['default']['externalFlvPlayer'];
-          $externalFlvPlayerVars = $ItemAddEmbedVideo['default']['externalFlvPlayerVars'];
-          $flvThumbnail = $ItemAddEmbedVideo['default']['flvThumbnail'];
+          global $debugOutput, $useInternalFlvPlayer, $youtubeDevId;
+          global $width, $height, $externalFlvPlayer, $externalFlvPlayerVars;
+          global $flvThumbnail;
+
+          $debugOutput = $this->getParameter($ItemAddEmbedVideo, 'debugOutput');
+          $useInternalFlvPlayer = $this->getParameter($ItemAddEmbedVideo, 'useInternalFlvPlayer');
+          $youtubeDevId = $this->getParameter($ItemAddEmbedVideo, 'youtubeDevId');
+          $width = $this->getParameter($ItemAddEmbedVideo, 'width');
+          $height = $this->getParameter($ItemAddEmbedVideo, 'height');
+          $externalFlvPlayer = $this->getParameter($ItemAddEmbedVideo, 'externalFlvPlayer');
+          $externalFlvPlayerVars = $this->getParameter($ItemAddEmbedVideo, 'externalFlvPlayerVars');
+          $flvThumbnail = $this->getParameter($ItemAddEmbedVideo, 'flvThumbnail');
 
           /* Store other string constants we'll use later */
-          $youtubeUrlPattern="www.youtube.com";
+          $youtubeUrlPattern="youtube.com";
           $youtubeApiUrl="http://www.youtube.com/api2_rest";
           $googleUrlPattern="video.google.com";
           $googlePlayer="http://video.google.com/googleplayer.swf";
@@ -122,7 +127,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
               }
 
 
-              if($debugOutput) {
+              if(!strcmp($debugOutput,"true")) {
                 print "$xml";
               }
               
@@ -229,19 +234,18 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
                 * Check to make sure the URL to the remote flv file is valid
                * (That the file exists at the URL given)
                 */
-              list ($successfullyCopied, $response, $headers) =
-                GalleryCoreApi::fetchWebPage($url, $extraHeaders);
-              if (!$successfullyCopied) {
-                  return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
-                               "Unable to locate a video at url: $url"),null,null);
-              }                                            
+              /*
+                * TODO: How can we check if the remote file exists without actually
+                * downloading the entire file? For now, if the file doesn't exist,
+                * a gallery item is still added, and the embedded player won't play it.
+                */ 
               
               /*
                 * Format the description to hold a reference to the embedded video
                * This reference will be embedded using the G2 internal player,
                * or an external player if provided by the user.
                 */
-              if(!$useInternalFlvPlayer) {
+              if(!strcmp($useInternalFlvPlayer,"false")) {
 
                   /*
                     * The user has indicated they want to use an external flv player
@@ -334,7 +338,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
           $tmpFile = $platform->tempnam($tmpDir, 'add');
           $tmpFile.= ".jpg";
           
-          if($debugOutput) {
+          if(!strcmp($debugOutput,"true")) {
               print "thumbnail: $thumbnail <br>";
           }
           
@@ -357,7 +361,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
           $fileName = preg_replace("/&#\d+;/","",$fileName);
           
           /* General debug output */
-          if($debugOutput) {
+          if(!strcmp($debugOutput,"true")) {
               print "<p><a href=\"".$title."\" target=\"_blank\">";
               print "<img src=\"".$thumbnail."\">\n</a>".$summary."</p>";
               print "<p>$description</p>";
@@ -389,6 +393,18 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
    return array(null, $error, $status);
  }
 
+ /**
+  * A simple function to resolve the value of a parameter from
+  * the default or override value if it exists.
+  */
+ function getParameter($params, $name) {
+   if(isset($params['override'][$name])) {
+     return($params['override'][$name]);
+   } else {
+     return($params['default'][$name]);
+   }
+ }
  /**
   * @see ItemAdd:loadTemplate
   */