Added new allowFullScreen option for youtube videos
authorAlan J. Pippin <ajp@pippins.net>
Thu, 18 Jun 2009 02:50:07 +0000 (20:50 -0600)
committerAlan J. Pippin <ajp@pippins.net>
Thu, 18 Jun 2009 02:50:07 +0000 (20:50 -0600)
Fixed dailymotion embed video parser

ItemAddEmbedVideo.inc
templates/EmbedVideoSiteAdmin.tpl

index bbb941d3a6562f6d652a62af5ef336cd66f8f6a4..8049610d866fd38fdeae129938dea84a40d126d0 100644 (file)
@@ -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("/&quot;/","'",$description);
                 $description=preg_replace("/&lt;/","<",$description);
index f45ba5de5c7d3f538adc4b359a0dfa23303c5e64..f19e2a28455ee784643e241321f125e54694f9aa 100644 (file)
     <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>