Fixed bug in override parameters not being read.
[embedvideo/.git] / ItemAddEmbedVideo.inc
index ba84786843cbfb68f30300672ff6300118328572..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";
@@ -229,12 +234,11 @@ 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
@@ -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
   */