Additional bug fixes
[embedvideo/.git] / ItemAddEmbedVideo.inc
index eb15456ed6b424d1af018305f614d35a0195962e..ba84786843cbfb68f30300672ff6300118328572 100644 (file)
@@ -38,7 +38,11 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
    if (isset($form['action']['addEmbedVideoPage'])) {
      
        $platform =& $gallery->getPlatform();
-      
+
+       if (empty($extraHeaders)) {
+          $extraHeaders = array('Referer' => str_replace('&', '&', $url));
+       }
+
        if(isset($form['webPage']['URL'])) {
         
           /* Load any stored/set Parameters */
@@ -110,9 +114,15 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
               $feed.= "&dev_id=$dev_id&video_id=$video_id";
               
               /* Get the youtube xml feed as a string data source */
-              $xml = $this->_getFeed($feed);   
+              list ($successfullyCopied, $xml, $response, $headers) =
+                GalleryCoreApi::fetchWebPage($feed, $extraHeaders);
+              if (!$successfullyCopied) {
+                  return array(GalleryCoreApi::error(ERROR_BAD_PATH,__FILE__,__LINE__,
+                               "Unable to get video information at url: $url"),null,null);
+              }
+
 
-              if($debugOutput) {
+              if(!strcmp($debugOutput,"true")) {
                 print "$xml";
               }
               
@@ -162,8 +172,12 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
               }
 
               /* Grab the contents of the webpage used to display the video on video.google.com */
-              //$contents=file_get_contents($url);
-              $contents = $this->_getFeed($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"),null,null);
+              }
 
               /* Extract the summary from the webpage contents */
               preg_match('/<meta content="(.+?)\. \w+ \d+, \d+.*" name="description">/i',
@@ -215,9 +229,6 @@ 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)
                 */
-              if (empty($extraHeaders)) {
-                  $extraHeaders = array('Referer' => str_replace('&amp;', '&', $url));
-              }
               list ($successfullyCopied, $response, $headers) =
                 GalleryCoreApi::fetchWebPage($url, $extraHeaders);
               if (!$successfullyCopied) {
@@ -230,7 +241,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
                * 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
@@ -323,14 +334,11 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
           $tmpFile = $platform->tempnam($tmpDir, 'add');
           $tmpFile.= ".jpg";
           
-          if($debugOutput) {
+          if(!strcmp($debugOutput,"true")) {
               print "thumbnail: $thumbnail <br>";
           }
           
           /* Fetch the thumbnail and save it to a local file */
-          if (empty($extraHeaders)) {
-              $extraHeaders = array('Referer' => str_replace('&amp;', '&', $url));
-          }
           list ($successfullyCopied, $response, $headers) =
             GalleryCoreApi::fetchWebFile($thumbnail, $tmpFile, $extraHeaders);
           if (!$successfullyCopied) {
@@ -349,7 +357,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>";
@@ -413,24 +421,6 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
     
     return array(null, $module->translate('Embed Video'));
  }
-
-
- /**
-  * ItemAddEmbedVideo::_getFeed
-  */
- function _getFeed($feed) {
-  
-     /* Open and return Feed with cURL for parsing */
-    $ch = curl_init();
-    $timeout = 0;
-    curl_setopt ($ch, CURLOPT_URL, $feed);
-    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
-    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
-    $xml = curl_exec($ch);
-    curl_close($ch);
-    
-    return $xml;    
- }
  
 }      
 ?>