Removed reliance on cURL. Replaced these calls with Gallery internals.
authorAlan Jack Pippin <ajp@pippin.(none)>
Tue, 12 Jun 2007 01:59:11 +0000 (19:59 -0600)
committerAlan J. Pippin <ajp@pippins.net>
Tue, 12 Jun 2007 01:59:11 +0000 (19:59 -0600)
ItemAddEmbedVideo.inc
templates/EmbedVideoSiteAdmin.tpl

index eb15456ed6b424d1af018305f614d35a0195962e..c0d355dc927a11fa18e5b6bb49a3a3486b5ccd32 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('&amp;', '&', $url));
+       }
+
        if(isset($form['webPage']['URL'])) {
         
           /* Load any stored/set Parameters */
@@ -110,7 +114,13 @@ 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) {
                 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) {
@@ -328,9 +339,6 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
           }
           
           /* 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) {
@@ -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;    
- }
  
 }      
 ?>
index c580ed5a2ca79095225d29867fede37f8c72e36a..6a7c96751122f4cf2e6a35aea10cbcf6c5d9e632 100644 (file)
     <tr class="gbEven"><td>height</td><td>240</td>
       <td>{g->text text="specify the height dimension of the embedded video player"}</td></tr>
 
-    <tr class="gbEven"><td>debugOutput</td><td>true|false</td>
+    <tr class="gbEven"><td>debugOutput</td><td>true/false</td>
       <td>{g->text text="turn on module debug output"}</td></tr>
 
     <tr class="gbEven"><td>flvThumbnail</td><td>URL path</td>