X-Git-Url: http://git.pippins.net/embedvideo/.git/%27%20%20%20%20.%20%24GLOBALS%5B%27phpgw%27%5D-%3Elink%28%27inc/jquery/jquery.tablesorter.css%27%29.%27?a=blobdiff_plain;f=ItemAddEmbedVideo.inc;h=a6cb38c5aad7092791554c75e110d47ba4e69492;hb=74a1d0cec8dd6b7257d3d70bef106af9dcd7f786;hp=418bbcbdb048ca8cc56adcc5e8aaf627335026d5;hpb=3bed8fb51b37cb1ed554dc38fb5653667be18cbd;p=embedvideo%2F.git
diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc
index 418bbcb..a6cb38c 100644
--- a/ItemAddEmbedVideo.inc
+++ b/ItemAddEmbedVideo.inc
@@ -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 = _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,7 +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);
+ 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('//i',
@@ -184,7 +199,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$description = '';
$description.= "
$summary";
@@ -214,22 +229,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)
*/
- if (empty($extraHeaders)) {
- $extraHeaders = array('Referer' => str_replace('&', '&', $url));
- }
- 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
@@ -322,14 +333,11 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$tmpFile = $platform->tempnam($tmpDir, 'add');
$tmpFile.= ".jpg";
- if($debugOutput) {
+ if(!strcmp($debugOutput,"true")) {
print "thumbnail: $thumbnail
";
}
/* Fetch the thumbnail and save it to a local file */
- if (empty($extraHeaders)) {
- $extraHeaders = array('Referer' => str_replace('&', '&', $url));
- }
list ($successfullyCopied, $response, $headers) =
GalleryCoreApi::fetchWebFile($thumbnail, $tmpFile, $extraHeaders);
if (!$successfullyCopied) {
@@ -348,7 +356,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin {
$fileName = preg_replace("/\d+;/","",$fileName);
/* General debug output */
- if($debugOutput) {
+ if(!strcmp($debugOutput,"true")) {
print "
"; print "\n".$summary."
"; print "$description
"; @@ -412,24 +420,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; - } } ?>