From ddfbcdb8e5c88fccadbc4a3af95d47792815ad50 Mon Sep 17 00:00:00 2001 From: "Alan J. Pippin" <ajp@pippins.net> Date: Wed, 17 Jun 2009 20:50:07 -0600 Subject: [PATCH] Added new allowFullScreen option for youtube videos Fixed dailymotion embed video parser --- ItemAddEmbedVideo.inc | 26 ++++++++++++++++++++------ templates/EmbedVideoSiteAdmin.tpl | 3 +++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/ItemAddEmbedVideo.inc b/ItemAddEmbedVideo.inc index bbb941d..8049610 100644 --- a/ItemAddEmbedVideo.inc +++ b/ItemAddEmbedVideo.inc @@ -92,7 +92,8 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $watermarkAlignment = $this->getParameter($ItemAddEmbedVideo, 'watermarkAlignment', "left"); $wordwrapSummary = $this->getParameter($ItemAddEmbedVideo, 'wordwrapSummary', "0"); $wordwrapDescription = $this->getParameter($ItemAddEmbedVideo, 'wordwrapDescription', "0"); - + $allowFullScreen = $this->getParameter($ItemAddEmbedVideo, 'allowFullScreen', "false"); + /* Print our stored/set Parameters */ if(!strcmp($debugOutput,"true")) { print "\n<hr>"; @@ -112,6 +113,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { print "watermarkAlignment=$watermarkAlignment<br>\n"; print "wordwrapSummary=$wordwrapSummary<br>\n"; print "wordwrapDescription=$wordwrapDescription<br>\n"; + print "allowFullScreen=$allowFullScreen<br>\n"; print "<hr>\n"; } @@ -287,15 +289,26 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $youtubeShowRelatedStr="&rel=0"; } + /* Determine if the video should show related videos or not based on the youtubeShowRelated parameter */ + $fullScreenStr=""; + $fullScreenParamStr1=""; + $fullScreenParamStr2=""; + if(!strcmp($allowFullScreen,"true")) { + $fullScreenStr="&fs=1"; + $fullScreenParamStr1="<param name=\"allowFullScreen\" value=\"true\"></param>"; + $fullScreenParamStr2=" allowfullscreen=\"true\""; + } + /* 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.$extra_params.'"></param>'; $description.= '<param name="wmode" value="transparent"></param>'; + $description.= $fullScreenParamStr1; $description.= '<embed src="http://www.youtube.com/v/'; - $description.= $video_id.$extra_params.$autoStartStr.$youtubeShowRelatedStr; + $description.= $video_id.$extra_params.$autoStartStr.$youtubeShowRelatedStr.$fullScreenStr; $description.= '" type="application/x-shockwave-flash" wmode="transparent" '; - $description.= 'width="'.$width.'" height="'.$height.'"></embed></object>'; + $description.= 'width="'.$width.'" height="'.$height.'"'.$fullScreenParamStr2.'></embed></object>'; /* ********************************** @@ -335,12 +348,13 @@ class ItemAddEmbedVideo extends ItemAddPlugin { } /* Extract the thumbnail URL from the webpage contents */ - preg_match('/\'(http:\/\/.*?\/ThumbnailServer2.+?)\'/i', + preg_match('/\'.+?thumbnail.+?(http:\/\/.*?\/ThumbnailServer2.+?)\'/i', $contents, $matches); $thumbnail=$matches[1]; $thumbnail=preg_replace("/\\\\x26/","&",$thumbnail); $thumbnail=preg_replace("/\\\\x3d/","=",$thumbnail); - + $thumbnail=urldecode($thumbnail); + /* Determine what our width and height should be based on our useRemoteSize parameter */ if(!strcmp($useRemoteSize,"true")) { $width = $googleWidth; @@ -557,7 +571,7 @@ class ItemAddEmbedVideo extends ItemAddPlugin { $thumbnail=$dailymotionThumbnailUrl.$item_id; /* Format the description to hold a reference to the embedded video */ - if(preg_match('/<textarea id="video_player_embed_code_text".+?>(.+?)<\/textarea>/', $contents, $matches)) { + if(preg_match('/<.+? value="(.+?)" class=".+?" id="video_player_embed_code_text" \/>/', $contents, $matches)) { $description=$matches[1]; $description=preg_replace("/"/","'",$description); $description=preg_replace("/</","<",$description); diff --git a/templates/EmbedVideoSiteAdmin.tpl b/templates/EmbedVideoSiteAdmin.tpl index f45ba5d..f19e2a2 100644 --- a/templates/EmbedVideoSiteAdmin.tpl +++ b/templates/EmbedVideoSiteAdmin.tpl @@ -130,6 +130,9 @@ <tr class="gbEven"><td>autoStart</td><td>true/false</td> <td>{g->text text="specify if the embedded video players should autostart the videos or not"}</td></tr> + <tr class="gbEven"><td>allowFullScreen</td><td>true/false</td> + <td>{g->text text="specify if the embedded video player should be allowed to playback in full screen mode or not (youtube only)"}</td></tr> + <tr class="gbOdd"><td>width</td><td>320</td> <td>{g->text text="specify the width dimension of the embedded video player"}</td></tr> -- 2.34.1