projects
/
embedvideo
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
8870ef4
)
Added support to handle &fmt=18 type options to youtube video urls
author
Alan J. Pippin
<ajp@server.pippins.net>
Fri, 18 Apr 2008 02:05:53 +0000
(20:05 -0600)
committer
Alan J. Pippin
<ajp@pippins.net>
Fri, 18 Apr 2008 02:05:53 +0000
(20:05 -0600)
ItemAddEmbedVideo.inc
patch
|
blob
|
history
diff --git
a/ItemAddEmbedVideo.inc
b/ItemAddEmbedVideo.inc
index ac3f12ad3d83091c4ea61e318440e957614ef3e7..6bb160fbc5b7ebaff3e94f00b1d1b6e0ece01a08 100644
(file)
--- a/
ItemAddEmbedVideo.inc
+++ b/
ItemAddEmbedVideo.inc
@@
-178,14
+178,33
@@
class ItemAddEmbedVideo extends ItemAddPlugin {
*****************************
*/
if(preg_match("/$youtubeUrlPattern/",$url)) {
*****************************
*/
if(preg_match("/$youtubeUrlPattern/",$url)) {
-
+
/* Make sure we can find a video_id in the URL */
/* Make sure we can find a video_id in the URL */
- if(preg_match("/watch\?v=(.*)/",$url,$matches)) {
+ $extra_params = "";
+ if(preg_match("/watch\?v=(.*?)(&\S+=\S+)/",$url,$matches)) {
+ $video_id = $matches[1];
+ $extra_params = $matches[2];
+ } else if (preg_match("/watch\?v=(.*)/",$url,$matches)) {
$video_id = $matches[1];
} else {
return array(GalleryCoreApi::error(ERROR_BAD_PARAMETER,__FILE__,__LINE__,
"Unable to extract video id from url: $url"),null,null);
}
$video_id = $matches[1];
} else {
return array(GalleryCoreApi::error(ERROR_BAD_PARAMETER,__FILE__,__LINE__,
"Unable to extract video id from url: $url"),null,null);
}
+
+ /* If extra params were given, handle them here */
+ if(strcmp($extra_params,"")) {
+ /* Handle the HD format information */
+ if(preg_match("/fmt=(\d+)/",$extra_params,$matches)) {
+ $extra_params="&ap=%2526fmt%3D".$matches[1];
+ }
+ }
+
+ if(!strcmp($debugOutput,"true")) {
+ print "<h2>URL Parsing Results</h2>";
+ print "video_id: $video_id<br>";
+ print "extra_embed_params: $extra_params<br>";
+ print "<hr>";
+ }
/* If we have a valid youtube developer id, use that to get information about the video */
/* Otherwise, just parse it directly from the HTML page */
/* If we have a valid youtube developer id, use that to get information about the video */
/* Otherwise, just parse it directly from the HTML page */
@@
-235,7
+254,8
@@
class ItemAddEmbedVideo extends ItemAddPlugin {
$description=preg_replace("/</","<",$description);
$description=preg_replace("/>/",">",$description);
$description=preg_replace("/&/","&",$description);
$description=preg_replace("/</","<",$description);
$description=preg_replace("/>/",">",$description);
$description=preg_replace("/&/","&",$description);
- $description=preg_replace("/&rel=1/",$autoStartStr.$youtubeShowRelatedStr,$description);
+ $description=preg_replace("/$video_id/",$video_id.$autoStartStr.$youtubeShowRelatedStr,$description);
+ $description=preg_replace("/$video_id/",$video_id.$extra_params,$description);
if(!strcmp($useRemoteSize,"false")) {
$description=preg_replace("/width='\d+'/","width='".$width."'",$description);
$description=preg_replace("/height='\d+'/","height='".$height."'",$description);
if(!strcmp($useRemoteSize,"false")) {
$description=preg_replace("/width='\d+'/","width='".$width."'",$description);
$description=preg_replace("/height='\d+'/","height='".$height."'",$description);
@@
-313,10
+333,10
@@
class ItemAddEmbedVideo extends ItemAddPlugin {
/* Format the description to hold a reference to the embedded video */
$description = '<object width="'.$width.'" height="'.$height.'">';
$description.= '<param name="movie" ';
/* Format the description to hold a reference to the embedded video */
$description = '<object width="'.$width.'" height="'.$height.'">';
$description.= '<param name="movie" ';
- $description.= 'value="http://www.youtube.com/v/'.$video_id.'"></param>';
+ $description.= 'value="http://www.youtube.com/v/'.$video_id.
$extra_params.
'"></param>';
$description.= '<param name="wmode" value="transparent"></param>';
$description.= '<embed src="http://www.youtube.com/v/';
$description.= '<param name="wmode" value="transparent"></param>';
$description.= '<embed src="http://www.youtube.com/v/';
- $description.= $video_id.$autoStartStr.$youtubeShowRelatedStr;
+ $description.= $video_id.$
extra_params.$
autoStartStr.$youtubeShowRelatedStr;
$description.= '" type="application/x-shockwave-flash" wmode="transparent" ';
$description.= 'width="'.$width.'" height="'.$height.'"></embed></object>';
}
$description.= '" type="application/x-shockwave-flash" wmode="transparent" ';
$description.= 'width="'.$width.'" height="'.$height.'"></embed></object>';
}