Ticket #1083: reworked_player_preview.patch

File reworked_player_preview.patch, 54.9 KB (added by ntm, 2 years ago)
  • podpress.js

     
    3333                refPlayerDiv.innerHTML = podPressGenerateVideoPreview (strPlayerDiv, strMediaFile, numWidth, numHeight, strPreviewImg); 
    3434        } 
    3535 
    36         function podPressGenerateVideoPreview (strPlayerDiv, strMediaFile, numWidth, numHeight, strPreviewImg, bPreviewOnly, forEditor) { 
    37                 if (typeof numWidth == 'undefined') { 
    38                         numWidth = 320; 
    39                 } 
    40                 if (typeof numHeight == 'undefined') { 
    41                         numHeight = 240; 
    42                 } 
    43                 if (typeof strPreviewImg == 'undefined') { 
    44                         strPreviewImg = podPressDefaultPreviewImage; 
    45                 } 
    46                 if (typeof bPreviewOnly == 'undefined') { 
    47                         bPreviewOnly = false; 
    48                 } 
     36        function podPressGenerateVideoPreview (strPlayerDiv, strMediaFile, numWidth, numHeight, strPreviewImg, bPreviewOnly) { 
     37                if (typeof numWidth == 'undefined') { numWidth = 320; } 
     38                if (typeof numHeight == 'undefined') { numHeight = 240; } 
     39                if (typeof strPreviewImg == 'undefined') { strPreviewImg = podPressDefaultPreviewImage; } 
     40                if (typeof bPreviewOnly == 'undefined') { bPreviewOnly = false; } 
    4941 
    50                 if(numHeight < 80) { 
    51                         strPreviewImg = podPressBackendURL+'images/vpreview_center_text.png'; 
    52                 } 
     42                if (false == bPreviewOnly) { 
     43                        var strOnclick= ' onclick="javascript:podPressShowHidePlayer('+strPlayerDiv+', \''+strMediaFile+'\', '+numWidth+', '+numHeight+', \'force\'); return false;"'; 
     44                } else { 
     45                        var strOnclick= ''; // for a preview of this preview player at the player settings page on the admin pages 
     46                }        
    5347 
    54                 var strTopBgWidth = numWidth-14; 
    55                 var strBottomBgWidth = numWidth - 126; 
    56                 var strTableWidth = numWidth+14; 
    57                 var strDimensions = numWidth+':'+numHeight; 
    58  
    5948                var strResult = ''; 
    60                 // This "if"-condition is only a kind of a quick fix. The Box-Model layout will be used for the blog pages and the old table based layout for the editor pages. 
    61                 // This should be cleaned up in future versions. 
    62                 if (true != forEditor) { 
    63                         strResult += '<div class="podPress_videoplayer_wrapper" style="width: '+strTableWidth+'px; padding:0px; margin:0px; display:block; background-color:#ff0000;">'; 
    64                         strResult += '  <div class="podPress_videoplayer_toprow" style="width:100%; padding:0px; margin:0px;">'; 
    65                         strResult += '          <img src="'+podPressBackendURL+'images/vpreview_top_left.png" style="width:7px; height:27px; float:left; padding:0px; margin:0px;" alt="."/>'; 
    66                         strResult += '          <span style="height:27px; border:0px; display:block; float:left; padding:0px; margin:0px; width: '+numWidth+'px; text-align:center; background:url(\''+podPressBackendURL+'images/vpreview_top_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_top_middle.png" style="width:119px; height:27px padding:0px; margin:0px; border:0px;" alt="." /></span>'; 
    67                         strResult += '          <img src="'+podPressBackendURL+'images/vpreview_top_right.png" style="width:7px; height:27px; float:left; padding:0px; margin:0px;" alt="." />'; 
    68                         strResult += '  </div>'; 
    69                          
    70                         strResult += '  <div class="podPress_videoplayer_middlerow" style="width:100%; padding:0px; margin:0px; background-color:#ffff00;">'; 
    71                         strResult += '          <span style="width:7px; height:'+numHeight+'px; padding:0px; margin:0px; display:block; float:left; background:url(\''+podPressBackendURL+'images/vpreview_left_background.png\'); background-repeat:repeat-y;"></span>'; 
    72                         strResult += '          <img class="#podPress_previewImage" src="'+strPreviewImg+'" style="width:'+numWidth+'px; height:'+numHeight+'px; padding:0px; margin:0px; border:0px; float:left;" alt="previewImg"  id="podPress_previewImageIMG_'+strPlayerDiv+'"'; 
    73                         if(!bPreviewOnly) { 
    74                                 strResult += ' onclick="javascript:podPressShowHidePlayer('+strPlayerDiv+', \''+strMediaFile+'\', '+numWidth+', '+numHeight+', \'force\'); return false;"'; 
    75                         } 
    76                         strResult += ' />'; 
    77                         strResult += '          <span style="width:7px; height:'+numHeight+'px; padding:0px; margin:0px; display:block; float:left; background:url(\''+podPressBackendURL+'images/vpreview_right_background.png\'); background-repeat:repeat-y;"></span>'; 
    78                         strResult += '  </div>'; 
    79                          
    80                         strResult += '  <div class="podPress_videoplayer_bottomrow" style="width:100%; padding:0px; margin:0px; background-color:#ff00ff;">'; 
    81                         strResult += '          <img src="'+podPressBackendURL+'images/vpreview_bottom_left.png" style="width:7px; height:23px; float:left; padding:0px; margin:0px;" alt="." />'; 
    82                         strResult += '          <span style="display:block; float:left; padding:0px; margin:0px; text-align: left; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_bottom_middle_left.png" style="width:56px; height:23px" alt="." /></span>'; 
    83                         strResult += '          <span style="height:23px; display:block; float:left; padding:0px; margin:0px; width:'+String(Math.abs(numWidth-112))+'px; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"></span>'; 
    84                         strResult += '          <span style="display:block; float:left; padding:0px; margin:0px; text-align:right; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_bottom_middle_right.png" style="width:56px; height:23px" alt="." /></span>'; 
    85                         strResult += '          <img src="'+podPressBackendURL+'images/vpreview_bottom_right.png" style="width:7px; height:23px; float:left; padding:0px; margin:0px;" alt="." />'; 
    86                         strResult += '  </div>'; 
    87                         strResult += '</div>'; 
    88                 } else { 
    89                         strResult += '<table class="podPress_previewImage" style="width: '+strTableWidth+'px;" cellpadding="0" cellspacing="0">'; 
    90                         strResult += '<tr class="podPress_previewImage">'; 
    91                         strResult += '<td class="podPress_previewImage" style="height: 27px; width: 7px; text-align: left;"><img class="podPress_previewImage" width="7" height="27" src="'+podPressBackendURL+'images/vpreview_top_left.png" border="0" alt="."/></td>'; 
    92                         strResult += '<td class="podPress_previewImage" colspan="3" style="height: 27px; width: '+strTopBgWidth+'px; text-align: center; background: url(\''+podPressBackendURL+'images/vpreview_top_background.png\'); background-repeat: repeat-x;"><img width="119" height="27" class="podPress_previewImage" src="'+podPressBackendURL+'images/vpreview_top_middle.png" border="0" alt="."/></td>'; 
    93                         strResult += '<td class="podPress_previewImage" style="height: 27px; width: 7px; text-align: right;"><img class="podPress_previewImage" width="7" height="27"  src="'+podPressBackendURL+'images/vpreview_top_right.png" border="0" alt="."/></td>'; 
    94                         strResult += '</tr>'; 
    95                         strResult += '<tr class="podPress_previewImage">'; 
    96                         strResult += '<td class="podPress_previewImage" style="width: 7px; background: url(\''+podPressBackendURL+'images/vpreview_left_background.png\'); background-repeat: repeat-y;">&nbsp;</td>'; 
    97                         strResult += '<td class="podPress_previewImage" colspan="3" style="width: '+numWidth+'px;">'; 
    98                         strResult += '<img class="#podPress_previewImage" src="'+strPreviewImg+'" border="0" width="'+numWidth+'" height="'+numHeight+'" alt="previewImg"  id="podPress_previewImageIMG_'+strPlayerDiv+'"'; 
    99                         if(!bPreviewOnly) { 
    100                                 strResult += ' onclick="javascript: podPressShowHidePlayer('+strPlayerDiv+', \''+strMediaFile+'\', '+numWidth+', '+numHeight+', \'force\'); return false;"'; 
    101                         } 
    102                         strResult += '/>'; 
    103                         strResult += '</td>'; 
    104                         strResult += '<td class="podPress_previewImage" style="width: 7px; background: url(\''+podPressBackendURL+'images/vpreview_right_background.png\'); background-repeat: repeat-y;">&nbsp;</td>'; 
    105                         strResult += '</tr>'; 
    106                         strResult += '<tr class="podPress_previewImage">'; 
    107                         strResult += '<td class="podPress_previewImage" style="height: 23px; width: 7px;"><img class="podPress_previewImage" width="7" height="23" src="'+podPressBackendURL+'images/vpreview_bottom_left.png" border="0" alt="."/></td>'; 
    108                         strResult += '<td class="podPress_previewImage" style="height: 23px; text-align: left; background: url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img class="podPress_previewImage" width="56" height="23" src="'+podPressBackendURL+'images/vpreview_bottom_middle_left.png" border="0"  alt="."/></td>'; 
    109                         strResult += '<td class="podPress_previewImage" style="height: 23px; width: '+strBottomBgWidth+'px; background: url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;">&nbsp;</td>'; 
    110                         strResult += '<td class="podPress_previewImage" style="height: 23px; text-align: right; background: url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img class="podPress_previewImage" width="56" height="23" src="'+podPressBackendURL+'images/vpreview_bottom_middle_right.png" border="0"  alt="."/></td>'; 
    111                         strResult += '<td class="podPress_previewImage" style="height: 23px; width: 7px;"><img class="podPress_previewImage" width="7" height="23" src="'+podPressBackendURL+'images/vpreview_bottom_right.png" border="0" alt="."/></td>'; 
    112                         strResult += '</tr>'; 
    113                         strResult += '</table>'; 
     49                strResult += '<div class="podPress_videoplayer_wrapper" style="width: '+String(Number(numWidth)+14)+'px; padding:0px; margin:0px; display:block; background-color:#ff0000;"'+strOnclick+'>'; 
     50                strResult += '  <div class="podPress_videoplayer_toprow" style="width:100%; padding:0px; margin:0px;">'; 
     51                strResult += '          <img src="'+podPressBackendURL+'images/vpreview_top_left.png" style="width:7px; height:27px; float:left; padding:0px; margin:0px;" alt="."/>'; 
     52                strResult += '          <span style="height:27px; border:0px; display:block; float:left; padding:0px; margin:0px; width: '+numWidth+'px; text-align:center; background:url(\''+podPressBackendURL+'images/vpreview_top_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_top_middle.png" style="width:119px; height:27px padding:0px; margin:0px; border:0px;" alt="." /></span>'; 
     53                strResult += '          <img src="'+podPressBackendURL+'images/vpreview_top_right.png" style="width:7px; height:27px; float:left; padding:0px; margin:0px;" alt="." />'; 
     54                strResult += '  </div>'; 
     55                 
     56                if (25 < Number(numHeight)) { // if the height value is smaller than 25 px then create a player preview without an cover or chapter image 
     57                strResult += '  <div class="podPress_videoplayer_middlerow" style="width:100%; padding:0px; margin:0px;">'; 
     58                strResult += '          <span style="width:7px; height:'+numHeight+'px; padding:0px; margin:0px; display:block; float:left; background:url(\''+podPressBackendURL+'images/vpreview_left_background.png\'); background-repeat:repeat-y;"></span>'; 
     59                strResult += '          <img class="podPress_previewImage" src="'+strPreviewImg+'" style="width:'+numWidth+'px; height:'+numHeight+'px; padding:0px; margin:0px; border:0px; float:left;" alt="previewImg"  id="podPress_previewImageIMG_'+strPlayerDiv+'" />'; 
     60                strResult += '          <span style="width:7px; height:'+numHeight+'px; padding:0px; margin:0px; display:block; float:left; background:url(\''+podPressBackendURL+'images/vpreview_right_background.png\'); background-repeat:repeat-y;"></span>'; 
     61                strResult += '  </div>'; 
    11462                } 
     63                 
     64                strResult += '  <div class="podPress_videoplayer_bottomrow" style="width:100%; padding:0px; margin:0px;">'; 
     65                strResult += '          <img src="'+podPressBackendURL+'images/vpreview_bottom_left.png" style="width:7px; height:23px; float:left; padding:0px; margin:0px;" alt="." />'; 
     66                strResult += '          <span style="display:block; float:left; padding:0px; margin:0px; text-align: left; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_bottom_middle_left.png" style="width:56px; height:23px" alt="." /></span>'; 
     67                strResult += '          <span style="height:23px; display:block; float:left; padding:0px; margin:0px; width:'+String(Math.abs(Number(numWidth)-112))+'px; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"></span>'; 
     68                strResult += '          <span style="display:block; float:left; padding:0px; margin:0px; text-align:right; background:url(\''+podPressBackendURL+'images/vpreview_bottom_background.png\'); background-repeat: repeat-x;"><img src="'+podPressBackendURL+'images/vpreview_bottom_middle_right.png" style="width:56px; height:23px" alt="." /></span>'; 
     69                strResult += '          <img src="'+podPressBackendURL+'images/vpreview_bottom_right.png" style="width:7px; height:23px; float:left; padding:0px; margin:0px;" alt="." />'; 
     70                strResult += '  </div>'; 
     71                strResult += '</div>'; 
    11572                return String(strResult); 
    11673        } 
    11774 
    11875        function podPressGeneratePlayer(strPlayerDiv, strMediaFile, numWidth, numHeight, strAutoStart, strPreviewImg) { 
    119                 if (typeof numWidth == 'undefined' || numWidth == '') { 
    120                         numWidth = 320; 
    121                 } 
    122                 if (typeof numHeight == 'undefined' || numHeight == '') { 
    123                         numHeight = 240; 
    124                 } 
    125  
    126                 if (typeof strAutoStart == 'undefined') { 
    127                         strAutoStart = 'false'; 
    128                 } 
     76                if (typeof numWidth == 'undefined') { numWidth = 320; } 
     77                if (typeof numHeight == 'undefined') { numHeight = 240; } 
     78                if (typeof strAutoStart == 'undefined') { strAutoStart = 'false'; } 
     79                 
    12980                if(strAutoStart == 'nopreview') { 
    13081                        return ''; 
    13182                } 
     
    14394                        var strExt = ''; 
    14495                } 
    14596                strExt = strExt.toLowerCase(); 
    146  
    147                 if(strExt != 'mp3' && strExt != 'flv' && strExt != 'yyoutube' && strAutoStart == 'false') { 
     97                 
     98                if(strExt != 'mp3' && strExt != 'flv' && strExt != 'youtube' && strAutoStart == 'false') { 
    14899                        if(strExt == 'youtube') { 
    149100                                strMediaFile = strMediaFile+'.youtube'; 
    150101                        } 
    151                         return podPressGenerateVideoPreview (strPlayerDiv, strMediaFile, numWidth, numHeight, strPreviewImg); 
     102                        return podPressGenerateVideoPreview(strPlayerDiv, strMediaFile, numWidth, numHeight, strPreviewImg); 
    152103                } 
     104 
     105                var strResult = ''; 
    153106                switch (strExt) { 
    154107                        case 'm4v': 
    155108                        case 'm4a': 
     
    181134                                                var strMimeType = 'video/quicktime'; 
    182135                                                break; 
    183136                                } 
    184                                 strResult = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'+numWidth+'" height="'+numHeight+'" codebase="http://www.apple.com/qtactivex/qtplugin.cab">'; 
     137                                numHeight = String(Number(numHeight)+ 18); // add up the height of the player controls 
     138                                strResult = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'+numWidth+'px" height="'+numHeight+'px" codebase="http://www.apple.com/qtactivex/qtplugin.cab">'; 
    185139                                strResult += '  <param name="src" value="'+strMediaFile+'" />'; 
    186140                                strResult += '  <param name="href" value="'+strMediaFile+'" />'; 
    187141                                strResult += '  <param name="scale" value="aspect" />'; 
     
    189143                                strResult += '  <param name="autoplay" value="'+strAutoStart+'" />'; 
    190144                                strResult += '  <param name="bgcolor" value="000000" />'; 
    191145                                strResult += '  <param name="pluginspage" value="http://www.apple.com/quicktime/download/" />'; 
    192                                 strResult += '  <embed src="'+strMediaFile+'" width="'+numWidth+'" height="'+numHeight+'" scale="aspect" cache="true" bgcolor="000000" autoplay="'+strAutoStart+'" controller="true" src="'+strMediaFile+'" type="'+strMimeType+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>'; 
    193                                 strResult += '</object><br/><br/>'; 
     146                                strResult += '  <embed src="'+strMediaFile+'" style="width:'+numWidth+'px; height:'+numHeight+'px; background-color:#000;" scale="aspect" cache="true" autoplay="'+strAutoStart+'" controller="true" src="'+strMediaFile+'" type="'+strMimeType+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>'; 
     147                                strResult += '</object><br/>'; 
    194148                                break; 
    195149                        case 'wma': 
    196150                        case 'wmv': 
    197151                        case 'asf': 
    198                                 strResult = '<object id="winplayer" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'+numWidth+'" height="'+numHeight+'" standby="Media is loading..." type="application/x-oleobject">'; 
     152                                numHeight = String(Number(numHeight)+ 44); // add up the height of the player controls 
     153                                strResult = '<object id="winplayer" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'+numWidth+'px" height="'+numHeight+'px" standby="Media is loading..." type="application/x-oleobject">'; 
    199154                                strResult += '  <param name="url" value="'+strMediaFile+'" />'; 
    200155                                strResult += '  <param name="AutoStart" value="'+strAutoStart+'" />'; 
    201156                                strResult += '  <param name="AutoSize" value="true" />'; 
     
    207162                                strResult += '  <param name="ShowCaptioning" value="false" />'; 
    208163                                strResult += '  <param name="ShowDisplay" value="false" />'; 
    209164                                strResult += '  <param name="ShowStatusBar" value="false" />'; 
    210                                 strResult += '  <embed type="application/x-mplayer2" src="'+strMediaFile+'" width="'+numWidth+'" height="'+numHeight+'" scale="aspect" AutoStart="'+strAutoStart+'" ShowDisplay="0" ShowStatusBar="0" AutoSize="1" AnimationAtStart="1" AllowChangeDisplaySize="1" ShowControls="1"></embed>'; 
    211                                 strResult += '</object><br/><br/>'; 
     165                                strResult += '  <embed type="application/x-mplayer2" src="'+strMediaFile+'" style="width:'+numWidth+'px; height:'+numHeight+'px; background-color:#000;" scale="aspect" AutoStart="'+strAutoStart+'" ShowDisplay="0" ShowStatusBar="0" AutoSize="1" AnimationAtStart="1" AllowChangeDisplaySize="1" ShowControls="1"></embed>'; 
     166                                strResult += '</object><br/>'; 
    212167                                break; 
    213168                        case 'swf': 
    214169                                if(strAutoStart == 'true') { 
     
    235190                                strResult = '<object type="application/x-shockwave-flash" width="'+numWidth+'" height="'+numHeight+'" wmode="transparent" data="'+podPressBackendURL+'players/flvplayer.swf?file='+encodeURI(strMediaFile)+strAutoStart+'">'; 
    236191                                strResult += '  <param name="movie" value="'+podPressBackendURL+'players/flvplayer.swf?file='+encodeURI(strMediaFile)+strAutoStart+'" />'; 
    237192                                strResult += '  <param name="wmode" value="transparent" />'; 
    238                                 strResult += '</object><br/><br/>'; 
     193                                strResult += '</object><br/>'; 
    239194                                break; 
    240195                        case '.rm': 
    241196                                strResult = '<object id="realplayer" classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" width="'+numWidth+'" height="'+numHeight+'">'; 
     
    243198                                strResult += '  <param name="autostart" value="'+strAutoStart+'" />'; 
    244199                                strResult += '  <param name="controls" value="imagewindow,controlpanel" />'; 
    245200                                strResult += '  <embed src="'+strMediaFile+'" width="'+numWidth+'" height="'+numHeight+'" autostart="'+strAutoStart+'" controls="imagewindow,controlpanel" type="audio/x-pn-realaudio-plugin"></embed>'; 
    246                                 strResult += '</object><br/><br/>'; 
     201                                strResult += '</object><br/>'; 
    247202                                break; 
    248203                        case 'ogg': 
    249204                                if(strAutoStart == 'true') { 
     
    262217                                strResult += '  <param name="jorbis.player.playonstartup" VALUE="'+strAutoStart+'" />'; 
    263218                                strResult += '  <param name="type" VALUE="application/x-java-applet;version=1.3" />'; 
    264219                                strResult += '  <comment><embed type="application/x-java-applet;version=1.3" width="'+numWidth+'" height="'+numHeight+'" java_codebase="'+podPressBackendURL+'players/" java_code="JOrbisPlayer.class" archive="JOrbisPlayer.jar,jogg.jar,jorbis.jar" jorbis.player.play.0="'+strMediaFile+'" jorbis.player.icestats="no" jorbis.player.playonstartup="'+strAutoStart+'" pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"></embed></comment>'; 
    265                                 strResult += '</object><br/><br/>'; 
     220                                strResult += '</object><br/>'; 
    266221                                break; 
    267222                        case 'youtube': 
    268223                                if(strAutoStart == 'true') { 
     
    274229                                strResult += '  <param name="movie" value="http://www.youtube.com/v/'+strMediaFile+'&rel=1&autoplay=1" />'; 
    275230                                strResult += '  <param name="wmode" value="transparent" />'; 
    276231                                strResult += '  <embed src="http://www.youtube.com/v/'+strMediaFile+'&rel=1&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="'+numWidth+'" height="'+numHeight+'"></embed>'; 
    277                                 strResult += '</object><br/><br/>'; 
     232                                strResult += '</object><br/>'; 
    278233                                break; 
    279234                        case 'mp3': 
    280235                        default: 
     
    306261        function podPressShowHidePlayer(strPlayerDiv, strMediaFile, numWidth, numHeight, strAutoStart, strPreviewImg) { 
    307262                var refPlayerDiv = document.getElementById('podPressPlayerSpace_'+strPlayerDiv); 
    308263                var refPlayerDivLink = document.getElementById('podPressPlayerSpace_'+strPlayerDiv+'_PlayLink'); 
    309  
     264                 
    310265                if(refPlayerDiv == undefined) { 
    311266                        return false; 
    312267                } 
     
    341296                                return true; 
    342297                        } 
    343298                } 
    344  
     299                 
    345300                if(strAutoStart == 'nopreview') { 
    346301                        refPlayerDivLink.innerHTML=podPressText_PlayNow; 
    347302                        refPlayerDiv.style.display='none'; 
     
    358313                refPlayerDiv.innerHTML=podPressGeneratePlayer(strPlayerDiv, strMediaFile, numWidth, numHeight, strAutoStart, strPreviewImg); 
    359314        } 
    360315 
    361         function podPressPopupPlayer(strPlayerDiv, strMediaFile, numWidth, numHeight) { 
     316        function podPressPopupPlayer(strPlayerDiv, strMediaFile, numWidth, numHeight, windowName) { 
    362317                var refPlayerDiv = document.getElementById('podPressPlayerSpace_'+strPlayerDiv); 
    363318                var refPlayerDivLink = document.getElementById('podPressPlayerSpace_'+strPlayerDiv+'_PlayLink'); 
    364319 
     
    374329                        } 
    375330                        refPlayerDivLink.parentNode.onclick = function(){ podPressShowHidePlayer(strPlayerDiv, strMediaFile, numWidth, numHeight, 'force'); return false; }; 
    376331                } 
    377  
     332                 
     333                if (typeof windowName == 'undefined') { windowName = 'podPress'; } 
     334                 
    378335                var strResult = '<HTML>\n'; 
    379336                strResult += '<HEAD>\n'; 
    380                 strResult += '<TITLE>podPress Popup Player</TITLE>\n'; 
     337                strResult += '<TITLE>'+windowName+' - Popup Player</TITLE>\n'; 
    381338                strResult += '</HEAD>\n'; 
    382339                strResult += '<BODY>\n'; 
     340                strResult += '<div style="margin:auto;">\n'; 
    383341                strResult += podPressGeneratePlayer(1, strMediaFile, numWidth, numHeight, 'true'); 
     342                strResult += '</div>\n'; 
    384343                strResult += '</BODY>\n'; 
    385344                strResult += '</HTML>'; 
    386345 
    387                 if (typeof numWidth == 'undefined' || numWidth == '') { 
    388                         numWidth = 320; 
    389                 } 
    390                 if (typeof numHeight == 'undefined' || numHeight == '') { 
    391                         numHeight = 240; 
    392                 } 
     346                if (typeof numWidth == 'undefined') { numWidth = 320; } 
     347                if (typeof numHeight == 'undefined') { numHeight = 240; } 
    393348 
    394349                if(podPressMP3PlayerWrapper) { 
    395                         numWidth = numWidth + 50; 
     350                        var windowWidth = Number(numWidth) + 50; 
    396351                } else { 
    397                         numWidth = numWidth + 10; 
     352                        var windowWidth = Number(numWidth) + 20; 
    398353                } 
    399354 
    400                 numHeight = numHeight + 50; 
    401                  
    402                 newwindow=window.open('', 'podPressPlayer', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width='+numWidth+',height='+numHeight); 
     355                var windowHeight = Number(numHeight) + 50; 
     356                newwindow=window.open('', windowName+' - Popup Player', 'toolbar=0,scrollbars=0,location=no,statusbar=0,menubar=0,resizable=1,width='+windowWidth+',height='+windowHeight); 
    403357                newdocument=newwindow.document; 
    404358                newdocument.write(strResult); 
    405359                newdocument.close(); 
     360                newwindow.focus(); 
    406361        } 
    407362 
    408363        function  podPressGetBaseName(file) { 
  • podpress_admin.js

     
    186186} 
    187187 
    188188function podPressUpdateDimensions(VarNum, val) { 
    189         var valArray = val.split(':'); 
     189        // this function updates the player preview on the editor pages 
     190        var valArray = String(val).split(':'); 
     191        if (2 != valArray.length) { 
     192                valArray[0] = 320; 
     193                valArray[1] = 240; 
     194        } else { 
     195                var dim_x = Number(valArray[0].replace(/\D+/g, '')); 
     196                var dim_y = Number(valArray[1].replace(/\D+/g, '')); 
     197                if ('NaN' == dim_x || 120 > dim_x) { 
     198                        valArray[0]=120; 
     199                } 
     200                if (1650 < dim_x) { 
     201                        valArray[0]=1650; 
     202                } 
     203                if ('NaN' == dim_y || 25 >= dim_y) { 
     204                        valArray[1]=0; 
     205                } 
     206                if (1050 < dim_y) { 
     207                        valArray[1]=1050; 
     208                } 
     209        } 
     210        document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value = valArray[0]; 
     211        document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value = valArray[1]; 
    190212        podPressMediaFiles[VarNum]['dimensionW'] = valArray[0]; 
    191         document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value = valArray[0]; 
    192213        podPressMediaFiles[VarNum]['dimensionH'] = valArray[1]; 
    193         document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value = valArray[1]; 
     214        document.getElementById('podPressPlayerSpace_'+String(VarNum)).innerHTML = podPressGenerateVideoPreview(VarNum, '', valArray[0], valArray[1], document.getElementById('podPressMedia_'+String(VarNum)+'_previewImage').value, true); 
    194215        podPressShowPreviewImage(VarNum); 
    195216} 
    196217 
     218function podPressUpdateDimensionList(VarNum) { 
     219        // this function updates the player preview on the editor pages and tries to select the value W:H value in the selectbox with the predefined formats 
     220        var dimensionsStr = String(document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value)+':'+String(document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value); 
     221        podPressUpdateDimensions(VarNum, dimensionsStr); 
     222        var is_in = podPress_isset_in_the_list(dimensionsStr, 'podPressMedia_'+VarNum+'_dimensionList'); 
     223        if ( true == is_in[0] ) { 
     224                document.getElementById('podPressMedia_'+VarNum+'_dimensionList').selectedIndex = is_in[1]; 
     225        } 
     226} 
     227 
    197228function podPress_set_blognamePreview(val) { 
    198229        document.getElementById('iTunesBlognamePreview').innerHTML = val; 
    199230        document.getElementById('PCABlognamePreview').innerHTML = val; 
     
    444475                } 
    445476        }  
    446477        var newMediaFileData = new Array(); 
    447   newMediaFileData['showme'] = showme; 
    448   newMediaFileData['URI'] = txtURI; 
    449   newMediaFileData['URI_torrent'] = txtURI_torrent; 
    450   newMediaFileData['title'] = txttitle; 
     478        newMediaFileData['showme'] = showme; 
     479        newMediaFileData['URI'] = txtURI; 
     480        newMediaFileData['URI_torrent'] = txtURI_torrent; 
     481        newMediaFileData['title'] = txttitle; 
    451482        newMediaFileData['type'] = txttype; 
    452483        newMediaFileData['size'] = txtsize; 
    453484        newMediaFileData['duration'] = duration; 
     
    547578        } 
    548579 
    549580        var typeOfMedia = data['type'].substring(0,6); 
    550         if(typeOfMedia != 'video_'){ 
     581        if (typeOfMedia != 'video_' && data['type'] != 'audio_m4a' && data['type'] != 'audio_mp4' && data['type'] != 'audio_wma') { 
    551582                document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = 'none'; 
    552583                document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = 'none'; 
    553                 document.getElementById('podPress_previewImageIMG_'+VarNum).src = ''; 
    554                 document.getElementById('podPress_previewImageIMG_'+VarNum).width = '0'; 
    555                 document.getElementById('podPress_previewImageIMG_'+VarNum).height = '0'; 
    556584        } else { 
    557585                if(data['previewImage'] == '') { 
    558586                        document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = ''; 
    559587                        document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = 'none'; 
    560                         document.getElementById('podPress_previewImageIMG_'+VarNum).src = ''; 
    561                         document.getElementById('podPress_previewImageIMG_'+VarNum).width = '0'; 
    562                         document.getElementById('podPress_previewImageIMG_'+VarNum).height = '0'; 
    563588                } else { 
    564589                        document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display = ''; 
    565590                        document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display = ''; 
    566                         document.getElementById('podPress_previewImageIMG_'+VarNum).src = data['previewImage']; 
    567                         document.getElementById('podPress_previewImageIMG_'+VarNum).width = data['dimensionW']; 
    568                         document.getElementById('podPress_previewImageIMG_'+VarNum).height = data['dimensionH']; 
    569591                } 
    570592        } 
    571593} 
     
    616638        } 
    617639} 
    618640 
     641function podPress_isset_in_the_list(value, list_id) {    
     642        var list = document.getElementById( list_id ); 
     643        var listlen = list.length; 
     644        var is_in = false; 
     645        var index = 0; 
     646        for (var i = 0; i < listlen; i++ ) { 
     647                if ( value == list.options[i].value ) { 
     648                        is_in = true; 
     649                        index=i; 
     650                } 
     651        } 
     652        return Array(is_in, index); 
     653} 
     654 
    619655function podPressAdjustMediaFieldsBasedOnType(VarNum) { 
    620656        var data = new Array(); 
    621657        if(podPressMediaFiles[VarNum] == undefined) { 
     
    624660                data = podPressMediaFiles[VarNum]; 
    625661        } 
    626662        var typeOfMedia = data['type'].substring(0,6); 
    627         if(typeOfMedia == 'audio_' || typeOfMedia == 'video_'){ 
     663        if(typeOfMedia == 'audio_' || typeOfMedia == 'video_') { 
    628664                document.getElementById('podPressMediaDurationWrapper_'+VarNum).style.display='';        
    629  } else { 
     665        } else { 
    630666                document.getElementById('podPressMediaDurationWrapper_'+VarNum).style.display='none';    
    631  } 
     667        } 
    632668 
    633  if(typeOfMedia == 'video_'){ 
     669        if (typeOfMedia == 'video_' || data['type'] == 'audio_m4a' || data['type'] == 'audio_mp4' || data['type'] == 'audio_wma') { 
    634670                document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display=''; 
    635671                document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display=''; 
    636                 podPressShowPreviewImage(VarNum); 
    637  } else if(typeOfMedia == 'embed_') { 
     672                //alert('(1a)\n'+typeOfMedia+'\n'+'W: '+String(data['dimensionW'])+'\t'+ String(typeof data['dimensionW']) + '\n'+'H: '+String(data['dimensionH'])+'\t'+ String(typeof data['dimensionH'])+'\n'); 
     673                if ( 0 >= Number(data['dimensionW']) && 0 >= Number(data['dimensionH'])) { // this means: if nothing is saved then set the default values  
     674                        if (typeOfMedia == 'video_') { 
     675                                data['dimensionW'] = 320; 
     676                                data['dimensionH'] = 240; 
     677                        } else { 
     678                                data['dimensionW'] = 320; 
     679                                data['dimensionH'] = 0; 
     680                        } 
     681                } 
     682                document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value = data['dimensionW']; 
     683                document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value = data['dimensionH']; 
     684                var dimensionsStr = String(document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value)+':'+String(document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value); 
     685                var is_in = podPress_isset_in_the_list(dimensionsStr, 'podPressMedia_'+VarNum+'_dimensionList'); 
     686                if ( true == is_in[0] ) { 
     687                        document.getElementById('podPressMedia_'+VarNum+'_dimensionList').selectedIndex = is_in[1]; 
     688                } 
     689                //alert('(1b)\n'+typeOfMedia+'\n'+'W: '+String(document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value) + '\n'+'H: '+String(document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value)+'\ndata_W: '+String(data['dimensionW'])+'\ndata_H: '+String(data['dimensionH'])); 
     690                podPressUpdateDimensions(VarNum, dimensionsStr); 
     691        } else if(typeOfMedia == 'embed_') { 
    638692                document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display=''; 
    639693                document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display=''; 
    640694                document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display='none';   
    641695                document.getElementById('podPressMediaDurationWrapper_'+VarNum).style.display='none';    
    642                 document.getElementById('podPressMediaSizeWrapper_'+VarNum).style.display='none';        
    643                 podPressShowPreviewImage(VarNum); 
     696                document.getElementById('podPressMediaSizeWrapper_'+VarNum).style.display='none';  
     697                if ( 0 >= Number(data['dimensionW']) && 0 >= Number(data['dimensionH'])) { // this means: if nothing is saved then set the default values  
     698                        data['dimensionW'] = 320; 
     699                        data['dimensionH'] = 240; 
     700                } 
     701                document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value = data['dimensionW']; 
     702                document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value = data['dimensionH']; 
     703                podPressUpdateDimensions(VarNum, String(document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value)+':'+String(document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value)); 
    644704        } else { 
    645705                document.getElementById('podPressMediaPreviewImageWrapper_'+VarNum).style.display='none'; 
    646706                document.getElementById('podPressMediaPreviewImageDisplayWrapper_'+VarNum).style.display='none'; 
    647                 document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display='none';   
    648  } 
     707                document.getElementById('podPressMediaDimensionWrapper_'+VarNum).style.display='none'; 
     708                data['dimensionW'] = 0; 
     709                data['dimensionH'] = 0; 
     710                document.getElementById('podPressMedia_'+VarNum+'_dimensionW').value = data['dimensionW']; 
     711                document.getElementById('podPressMedia_'+VarNum+'_dimensionH').value = data['dimensionH']; 
     712        } 
    649713} 
    650714 
    651715function podPressDetectType(VarNum) { 
     
    684748                case 'mpg': result = 'video_mpg'; break 
    685749                case 'peg': result = 'video_mpg'; break 
    686750                case 'asf': result = 'video_asf'; break 
     751                case 'wma': result = 'audio_wma'; break 
    687752                case 'wmv': result = 'video_wmv'; break 
    688753                case 'flv': result = 'video_flv'; break 
    689754                case 'swf': result = 'video_swf'; break 
  • podpress_admin_class.php

     
    333333                                echo '                                          <td>'."\n"; 
    334334                                echo '                                                  <div id="podPressPlayerSpace_'.$num.'"></div>'."\n"; 
    335335                                echo '<script type="text/javascript"><!--'."\n"; 
    336                                 echo "  document.getElementById('podPressPlayerSpace_".$num."').innerHTML = podPressGenerateVideoPreview (".$num.", '', '', '', document.getElementById('podPressMedia_".$num."_previewImage').value, true);\n"; 
     336                                echo "  document.getElementById('podPressPlayerSpace_".$num."').innerHTML = podPressGenerateVideoPreview (".$num.", '', ".$thisMedia['dimensionW'].", ".$thisMedia['dimensionH'].", document.getElementById('podPressMedia_".$num."_previewImage').value, true);\n"; 
    337337                                echo "--></script>\n"; 
    338338                                echo '                                          </td>'."\n"; 
    339339                                echo '                                  </tr>'."\n"; 
     
    343343                                echo '                                                  '.__('Dimensions', 'podpress').' (WxH): '."\n"; 
    344344                                echo '                                          </td>'."\n"; 
    345345                                echo '                                          <td>'."\n"; 
    346                                 echo '                                                  <input type="text" id="podPressMedia_'.$num.'_dimensionW" name="podPressMedia['.$num.'][dimensionW]" size="5" value="'.$thisMedia['dimensionW'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionW\'] = this.value;" />x<input type="text" id="podPressMedia_'.$num.'_dimensionH" name="podPressMedia['.$num.'][dimensionH]" size="5" value="'.$thisMedia['dimensionH'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionH\'] = this.value;" /> '."\n"; 
    347                                 echo '                                                  <select onchange="javascript: podPressUpdateDimensions(\''.$num.'\', this.value);">'."\n"; podPress_videoDimensionOptions($thisMedia['dimensionW'].':'.$thisMedia['dimensionH']);       echo '</select>'."\n"; 
     346                                echo '                                                  <input type="text" id="podPressMedia_'.$num.'_dimensionW" name="podPressMedia['.$num.'][dimensionW]" size="5" value="'.$thisMedia['dimensionW'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionW\'] = this.value; podPressUpdateDimensionList(\''.$num.'\');" />x<input type="text" id="podPressMedia_'.$num.'_dimensionH" name="podPressMedia['.$num.'][dimensionH]" size="5" value="'.$thisMedia['dimensionH'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionH\'] = this.value; podPressUpdateDimensionList(\''.$num.'\')" /> '."\n"; 
     347                                echo '                                                  <select id="podPressMedia_'.$num.'_dimensionList" onchange="javascript: podPressUpdateDimensions(\''.$num.'\', this.value);">'."\n"; podPress_videoDimensionOptions($thisMedia['dimensionW'].':'.$thisMedia['dimensionH']);     echo '</select>'."\n"; 
    348348                                echo '                                          </td>'."\n"; 
    349349                                echo '                                  </tr>'."\n"; 
    350350 
     
    881881                                echo '                                          <td>'."\n"; 
    882882                                echo '                                                  <div id="podPressPlayerSpace_'.$num.'"></div>'."\n"; 
    883883                                echo '<script type="text/javascript"><!--'."\n"; 
    884                                 echo "  document.getElementById('podPressPlayerSpace_".$num."').innerHTML = podPressGenerateVideoPreview (".$num.", '', '', '', document.getElementById('podPressMedia_".$num."_previewImage').value, true, true);\n"; 
     884                                echo "  document.getElementById('podPressPlayerSpace_".$num."').innerHTML = podPressGenerateVideoPreview (".$num.", '', ".$thisMedia['dimensionW'].", ".$thisMedia['dimensionH'].", document.getElementById('podPressMedia_".$num."_previewImage').value, true);\n"; 
    885885                                echo "--></script>\n"; 
    886886                                echo '                                          </td>'."\n"; 
    887887                                echo '                                  </tr>'."\n"; 
     
    891891                                echo '                                                  '.__('Dimensions', 'podpress').' (WxH): '."\n"; 
    892892                                echo '                                          </td>'."\n"; 
    893893                                echo '                                          <td>'."\n"; 
    894                                 echo '                                                  <input type="text" id="podPressMedia_'.$num.'_dimensionW" name="podPressMedia['.$num.'][dimensionW]" size="5" value="'.$thisMedia['dimensionW'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionW\'] = this.value;" />x<input type="text" id="podPressMedia_'.$num.'_dimensionH" name="podPressMedia['.$num.'][dimensionH]" size="5" value="'.$thisMedia['dimensionH'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionH\'] = this.value;" /> '."\n"; 
    895                                 echo '                                                  <select onchange="javascript: podPressUpdateDimensions(\''.$num.'\', this.value);">'."\n"; podPress_videoDimensionOptions($thisMedia['dimensionW'].':'.$thisMedia['dimensionH']);       echo '</select>'."\n"; 
     894                                echo '                                                  <input type="text" id="podPressMedia_'.$num.'_dimensionW" name="podPressMedia['.$num.'][dimensionW]" size="5" value="'.$thisMedia['dimensionW'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionW\'] = this.value; podPressUpdateDimensionList(\''.$num.'\');" />x<input type="text" id="podPressMedia_'.$num.'_dimensionH" name="podPressMedia['.$num.'][dimensionH]" size="5" value="'.$thisMedia['dimensionH'].'" onchange="javascript: podPressMediaFiles['.$num.'][\'dimensionH\'] = this.value; podPressUpdateDimensionList(\''.$num.'\')" /> '."\n"; 
     895                                echo '                                                  <select id="podPressMedia_'.$num.'_dimensionList" onchange="javascript: podPressUpdateDimensions(\''.$num.'\', this.value);">'."\n"; podPress_videoDimensionOptions($thisMedia['dimensionW'].':'.$thisMedia['dimensionH']);     echo '</select>'."\n"; 
    896896                                echo '                                          </td>'."\n"; 
    897897                                echo '                                  </tr>'."\n"; 
    898898 
     
    11861186                                                } 
    11871187                                                podPress_add_post_meta($post_id, 'podPressMedia', $verifiedMedia, true) ; 
    11881188                                        } 
    1189                                 }  
     1189                                } 
    11901190                                if(isset($_POST['iTunesSubtitleChoice']) AND $_POST['iTunesSummaryChoice'] AND $_POST['iTunesKeywordsChoice'] AND $_POST['iTunesAuthorChoice'] AND $_POST['iTunesExplicit'] AND $_POST['iTunesBlock']) { 
    11911191                                        if($_POST['iTunesSubtitleChoice'] == 'Custom' && !empty($_POST['iTunesSubtitle'])) { 
    11921192                                                $podPressPostSpecific['itunes:subtitle'] = $_POST['iTunesSubtitle']; 
     
    12531253                } 
    12541254 
    12551255                function edit_category_form($input) { 
     1256                        global $wp_version; 
    12561257                        $data = podPress_get_option('podPress_category_'.$input->cat_ID); 
    12571258                        $blog_charset = get_bloginfo('charset'); 
    12581259                        if(empty($data['podcastFeedURL'])) { 
    12591260                                $data['podcastFeedURL'] = get_settings('siteurl').'/?feed=rss2&cat='.$input->cat_ID; 
    12601261                        } 
    1261                         global $wp_version; 
     1262                        // Since WP 2.7 the column on the categories page is to small and scrollbars are necessary. This is only a short fix. 
    12621263                        if (TRUE == version_compare($wp_version, '2.7','<') ){ 
    12631264                                echo '<div class="wrap">'."\n"; 
    12641265                        } else { 
     
    13661367                        echo '                          <td width="50%">'; 
    13671368                        echo '                                  <label for="iTunesImageChoice"><strong>'.__('iTunes:Image', 'podpress').'</strong></label>'."\n"; 
    13681369                        echo '                                  <br/>'; 
    1369                         echo '                                  '.__('The iTunes image should be a square image with <a href="http://www.apple.com/itunes/podcasts/specs.html#image" target="_blank">at least 600 x 600 pixels</a> as Apple writes (01/2010) in "<a href="http://www.apple.com/itunes/podcasts/specs.html" target="_blank">Making a Podcast</a>" of their own Podcasting Resources. In the past 300 x 300 pixels were recommended. iTunes supports JPEG and PNG images (the file name extensions should ".jpg" or ".png").', 'podpress')."\n"; 
     1370                        echo '                                  '.__('The iTunes image should be a square image with <a href="http://www.apple.com/itunes/podcasts/specs.html#image" target="_blank">at least 600 x 600 pixels</a> as Apple writes (01/2010) in "<a href="http://www.apple.com/itunes/podcasts/specs.html" target="_blank">Making a Podcast</a>" of their own Podcasting Resources. In the "<a href="http://www.apple.com/itunes/podcasts/creatorfaq.html" target="_blank">FAQs: For Podcast Makers</a>" 300 x 300 pixels are recommended by Apple. iTunes supports JPEG and PNG images (the file name extensions should ".jpg" or ".png").', 'podpress')."\n"; 
    13701371                        echo '                                  <br/>'; 
    13711372                        echo '                                  <select id="iTunesImageChoice" name="iTunesImageChoice" onchange="javascript: podPress_updateCategoryCasting();">'."\n"; 
    13721373                        echo '                                          <option value="Global" '; if($data['iTunesImageChoice'] != 'Custom') { echo 'selected="selected"';      }       echo '>'.__('Use Global', 'podpress').'</option>'."\n"; 
     
    14831484                        echo '                                  <br/>'; 
    14841485                        echo '                                  <select id="iTunesCategory_0" name="iTunesCategory[0]" onchange="podPress_updateCategoryCasting();">'."\n"; 
    14851486                        echo '                                          <optgroup label="'.__('Select Primary', 'podpress').'">'."\n"; 
    1486                         echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][0] == '##Global##' || empty($data['iTunesCategory'][0])) { echo 'selected="selected"'; } echo '>'.__('Use Global', 'podpress').' ('.$this->settings['iTunes']['category'][0].')</option>'."\n"; 
     1487                        if ('' == trim($this->settings['iTunes']['category'][0])) { 
     1488                                $current_global = '[ '.__('nothing', 'podpress').' ]'; 
     1489                        } else { 
     1490                                $current_global = $this->settings['iTunes']['category'][0]; 
     1491                        } 
     1492                        echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][0] == '##Global##' || empty($data['iTunesCategory'][0])) { echo 'selected="selected"'; } echo '>'.__('Use Global', 'podpress').' ('.$current_global.')</option>'."\n"; 
    14871493                        if (empty($data['iTunesCategory'][0])) { 
    14881494                                podPress_itunesCategoryOptions(htmlentities('##Global##'), ENT_QUOTES, $blog_charset); 
    14891495                        } else { 
     
    14941500                        echo '                                  <input type="hidden" id="global_iTunesCategory" value="'.htmlentities(stripslashes($this->settings['iTunes']['category'][0]), ENT_QUOTES, $blog_charset).'" />'."\n"; 
    14951501                        echo '                                  <select name="iTunesCategory[1]">'."\n"; 
    14961502                        echo '                                          <optgroup label="'.__('Select Second', 'podpress').'">'."\n"; 
    1497                         echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][1] == '##Global##' || empty($data['iTunesCategory'][1])) { echo 'selected="selected"'; }       echo '>'.__('Use Global', 'podpress').' ('.$this->settings['iTunes']['category'][1].')</option>'."\n"; 
     1503                        if ('' == trim($this->settings['iTunes']['category'][1])) { 
     1504                                $current_global = '[ '.__('nothing', 'podpress').' ]'; 
     1505                        } else { 
     1506                                $current_global = $this->settings['iTunes']['category'][1]; 
     1507                        } 
     1508                        echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][1] == '##Global##' || empty($data['iTunesCategory'][1])) { echo 'selected="selected"'; }       echo '>'.__('Use Global', 'podpress').' ('.$current_global.')</option>'."\n"; 
    14981509                        if (empty($data['iTunesCategory'][1])) { 
    14991510                                podPress_itunesCategoryOptions(htmlentities('##Global##'), ENT_QUOTES, $blog_charset); 
    15001511                        } else { 
     
    15041515                        echo '                                  </select><br/>'."\n"; 
    15051516                        echo '                                  <select name="iTunesCategory[2]">'."\n"; 
    15061517                        echo '                                          <optgroup label="'.__('Select Third', 'podpress').'">'."\n"; 
    1507                         echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][2] == '##Global##' || empty($data['iTunesCategory'][2])) { echo 'selected="selected"'; }       echo '>'.__('Use Global', 'podpress').' ('.$this->settings['iTunes']['category'][2].')</option>'."\n"; 
     1518                        if ('' == trim($this->settings['iTunes']['category'][2])) { 
     1519                                $current_global = '[ '.__('nothing', 'podpress').' ]'; 
     1520                        } else { 
     1521                                $current_global = $this->settings['iTunes']['category'][2]; 
     1522                        } 
     1523                        echo '                                          <option value="##Global##" '; if($data['iTunesCategory'][2] == '##Global##' || empty($data['iTunesCategory'][2])) { echo 'selected="selected"'; }       echo '>'.__('Use Global', 'podpress').' ('.$current_global.')</option>'."\n"; 
    15081524                        if (empty($data['iTunesCategory'][2])) { 
    15091525                                podPress_itunesCategoryOptions(htmlentities('##Global##'), ENT_QUOTES, $blog_charset); 
    15101526                        } else { 
     
    15261542                        echo '                                          <option value="Clean" '; if($data['iTunesExplicit'] == 'Clean') { echo 'selected="selected"';   }       echo '>'.__('Clean', 'podpress').'</option>'."\n"; 
    15271543                        echo '                                  </select>'."\n"; 
    15281544                        echo '                                  <div id="iTunesExplicitHelp" style="display: none;">'."\n"; 
    1529                         echo '                                          '.__('Headphones Required? Sets the parental advisory graphic in name column.', 'podpress')."\n"; 
     1545                        echo '                                  '.__('Setting to indicate whether or not your podcast contains explicit material', 'podpress')."\n"; 
     1546                        echo '                                  <br/>'.__('"No" (default) - no indicator will show up', 'podpress')."\n"; 
     1547                        echo '                                  <br/>'.__('"Yes" - an "EXPLICIT" parental advisory graphic will appear next to your podcast artwork or name in iTunes', 'podpress')."\n"; 
     1548                        echo '                                  <br/>'.__('"Clean" - means that you are sure that no explicit language or adult content is included any of the episodes, and a "CLEAN" graphic will appear', 'podpress')."\n"; 
     1549                        echo '                                  <p>'.__('You can also use such an option for each of your podcast episodes (in the post/page editor).', 'podpress').'</p>'."\n"; 
    15301550                        echo '                                  </div>'."\n"; 
    15311551                        echo '                          </td>'."\n"; 
    15321552                        echo '                          <td width="50%">'."\n"; 
     
    15771597                        echo '                                          <option value="Yes" '; if($data['iTunesBlock'] == 'Yes') { echo 'selected="selected"';  }       echo '>'.__('Yes', 'podpress').'</option>'."\n"; 
    15781598                        echo '                                  </select>'."\n"; 
    15791599                        echo '                                  <div id="itunesBlockHelp" style="display: none;">'."\n"; 
    1580                         echo '                                          '.__('Prevent this episode or podcast from appearing in iTunes.', 'podpress')."\n"; 
     1600                        echo '                                  '.__('Use this if you are no longer creating a podcast and you want it removed from iTunes.', 'podpress')."\n"; 
     1601                        echo '                                  <br/>'.__('"No" (default) - the podcast appears in the iTunes Podcast directory', 'podpress')."\n"; 
     1602                        echo '                                  <br/>'.__('"Yes" - prevent the entire podcast from appearing in the iTunes Podcast directory', 'podpress')."\n"; 
     1603                        echo '                                  <p>'.__('You can also use such an option for each of your podcast episodes (in the post/page editor).', 'podpress').'</p>'."\n"; 
    15811604                        echo '                                  </div>'."\n"; 
    15821605                        echo '                          </td>'."\n"; 
    15831606                        echo '                          <td width="50%">&nbsp;</td>'."\n"; 
  • podpress_class.php

     
    639639                function insert_content($content = '') { 
    640640                        GLOBAL $post, $podPressTemplateData, $podPressTemplateUnauthorizedData, $wpdb; 
    641641                         
    642                          
    643642                        if ( !empty($post->post_password) ) { // if there's a password 
    644643                                if ( stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) != $post->post_password ) {      // and it doesn't match the cookie 
    645644                                        return $content; 
     
    671670                        $hasLocationDefined = (bool)strstr($content, $this->podcastTag); 
    672671                        if(!$hasLocationDefined) { 
    673672                                if($this->settings['contentBeforeMore'] == 'no') { 
    674                                         return $content; 
     673                                        if (is_home() or is_archive()) { 
     674                                                if (FALSE !== strpos($content, 'class="more-link">')) { 
     675                                                        return $content; 
     676                                                } 
     677                                        } 
    675678                                } 
    676679                                if($this->settings['contentLocation'] == 'start') { 
    677680                                        $content = $this->podcastTag.$content; 
     
    698701                                        $post->podPressMedia[$key]['previewImage'] = $this->settings['videoPreviewImage']; 
    699702                                } 
    700703 
    701                                 $supportedVideoTypes = array('video_mp4', 'video_m4v', 'video_mov', 'video_qt', 'video_avi', 'video_mpg', 'video_asf', 'video_wmv', 'video_wma', 'video_flv', 'video_swf'); 
     704                                $supportedVideoTypes = array('video_mp4', 'video_m4v', 'video_mov', 'video_qt', 'video_avi', 'video_mpg', 'video_asf', 'video_wmv', 'video_flv', 'video_swf'); 
    702705                                if (TRUE == $this->settings['disableVideoPreview'] AND TRUE == in_array($post->podPressMedia[$key]['type'], $supportedVideoTypes)) { 
    703706                                        $post->podPressMedia[$key]['disablePreview'] = true; 
    704                                 } 
    705  
     707                                }  
     708                                 
    706709                                if($post->podPressMedia[$key]['feedonly'] == 'on') { 
    707710                                        continue; 
    708711                                } 
     
    721724                                                $post->podPressMedia[$key]['stats'] = array('feed'=>$stats[0]->feed, 'web'=>$stats[0]->web, 'play'=>$stats[0]->play, 'total'=>$stats[0]->total); 
    722725                                        } 
    723726                                } 
    724                                 $supportedMediaTypes = array('audio_mp3', 'audio_ogg', 'audio_m4a', 'audio_mp4', 'audio_m3u', 'video_mp4', 'video_m4v', 'video_mov', 'video_qt', 'video_avi', 'video_mpg', 'video_asf', 'video_wmv', 'video_wma', 'video_flv', 'video_swf', 'ebook_pdf', 'embed_youtube'); 
     727                                $supportedMediaTypes = array('audio_mp3', 'audio_ogg', 'audio_m4a', 'audio_mp4', 'audio_m3u', 'video_mp4', 'video_m4v', 'video_mov', 'video_qt', 'video_avi', 'video_mpg', 'video_asf', 'video_wmv', 'audio_wma', 'video_flv', 'video_swf', 'ebook_pdf', 'embed_youtube'); 
    725728                                if(!in_array($post->podPressMedia[$key]['type'], $supportedMediaTypes)) { 
    726729                                        $post->podPressMedia[$key]['type'] = 'misc_other'; 
    727730                                } 
     
    782785                                                                $post->podPressMedia[$key]['dimensionH'] = 30; 
    783786                                                                break; 
    784787                                                        case 'audio_m4a': 
    785                                                         case 'audio_m4a': 
    786788                                                        case 'audio_mp4': 
     789                                                        case 'audio_wma': 
    787790                                                        case 'video_m4v': 
    788791                                                        case 'video_mp4': 
    789792                                                        case 'video_mov': 
     
    791794                                                        case 'video_avi': 
    792795                                                        case 'video_mpg': 
    793796                                                        case 'video_asf': 
    794                                                         case 'video_wma': 
    795797                                                        case 'video_wmv': 
    796798                                                        case 'video_flv': 
    797799                                                        case 'video_swf': 
     
    842844                                /* The theme file needs to populate these */ 
    843845                                $podPressContent = podPress_webContent($podPressTemplateData); 
    844846                        } 
    845                         return str_replace($this->podcastTag,$podPressContent,$content); 
     847                        return str_replace($this->podcastTag, $podPressContent, $content); 
    846848                } 
    847849 
    848850                function xmlrpc_post_addMedia($input) { 
  • podpress_theme.php

     
    3636                                $val['dimensionH'] = "''"; 
    3737                        } 
    3838                        $dividerNeeded = false; 
    39  
     39                         
     40                        $podPressEpisodeTitle = __($val['title'], 'podpress'); // if the title is not given by the author then it will be a defaultTitle (see podPress_defaultTitles) 
     41                         
    4042                        if($val['enablePlayer']) { 
    4143                                if($podPressContent != '') {                     
    4244                                        $podPressContent .= "<br />\n"; 
    4345                                } 
    44                                 $podPressContent .= "\n".'<div id="podPressPlayerSpace_'.$GLOBALS['podPressPlayer'].'">&nbsp;</div>'."\n".'<!-- Begin: podPress download link line -->'."\n".'<div class="podPress_downloadlinks">'; 
     46                                $podPressContent .= "\n".'<div id="podPressPlayerSpace_'.$GLOBALS['podPressPlayer'].'">&nbsp;</div>'."\n"; 
    4547                        } 
    46  
     48                         
     49                        $podPressContent .= '<!-- Begin: podPress download link line -->'."\n".'<div class="podPress_downloadlinks">'; 
     50                         
    4751                        if(isset($val['image'])) { 
    4852                                if($val['enableDownload'] && !empty($val['URI'])) { 
    4953                                        $podPressContent .= '<a href="'.$val['URI'].'" target="new">'; 
    5054                                } 
    51                                 $podPressContent .= '<img src="'.podPress_url().'images/'.$val['image'].'" border="0" align="top" class="podPress_imgicon" alt="icon for podpress" />'; 
     55                                switch ($val['image']) { // this is only a temporarily until there are the changed buttons -> WMA files are audio files! 
     56                                        case 'audio_wma_button.png' : 
     57                                                $podPressContent .= '<img src="'.podPress_url().'images/video_wma_button.png" class="podPress_imgicon" alt="'.$podPressEpisodeTitle.'" />'; 
     58                                        break; 
     59                                        case 'audio_wma_icon.png' : 
     60                                                $podPressContent .= '<img src="'.podPress_url().'images/video_wma_icon.png" class="podPress_imgicon" alt="'.$podPressEpisodeTitle.'" />'; 
     61                                        break; 
     62                                        default: 
     63                                                $podPressContent .= '<img src="'.podPress_url().'images/'.$val['image'].'" class="podPress_imgicon" alt="'.$podPressEpisodeTitle.'" />'; 
     64                                        break; 
     65                                } 
    5266                                if($val['enableDownload'] && !empty($val['URI'])) { 
    5367                                        $podPressContent .= '</a>'; 
    5468                                } 
     
    5670                                        $val['enableDownload'] = false; 
    5771                                } 
    5872                        } 
     73                         
    5974                        if($val['enableTorrentDownload']) { 
    6075                                $podPressContent .= '<a href="'.$val['URI_torrent'].'" target="new">'; 
    6176                                if(strstr($val['image'], '_button')) { 
     
    6378                                } else { 
    6479                                        $torrentimg = 'misc_torrent_icon.png'; 
    6580                                } 
    66                                 $podPressContent .= '<img src="'.podPress_url().'images/'.$torrentimg.'" border="0" align="top" class="podPress_imgicon" alt="icon for podpress" />'; 
     81                                $podPressContent .= '<img src="'.podPress_url().'images/'.$torrentimg.'" class="podPress_imgicon" alt="'.$podPressEpisodeTitle.' - '.__('Torrent','podpress').'" />'; 
    6782                                $podPressContent .= '</a>'; 
    6883                        } 
    6984 
    7085                        $podPressContent .= ' &nbsp;'; 
    71                         $podPressContent .= __($val['title'], 'podpress'); 
     86                        $podPressContent .= $podPressEpisodeTitle; 
    7287 
    7388                        if($podPressTemplateData['showDuration'] == 'enabled' && !empty($val['duration']) && preg_match("/([0-9]):([0-9])/", $val['duration'])) { 
    7489                                $podPressContent .= ' ['.$val['duration'].'m]'; 
     
    90105                                        } else { 
    91106                                                $previewVal = 'false'; 
    92107                                        } 
    93                                         $podPressContent .= "<a href=\"#\" onclick=\"javascript: podPressShowHidePlayer('".$GLOBALS['podPressPlayer']."','".$val['URI_Player']."',".$val['dimensionW'].",".$val['dimensionH'].",'true'); return false;\"><span id=\"podPressPlayerSpace_".$GLOBALS['podPressPlayer']."_PlayLink\">".__('Play Now', 'podpress')."</span></a>"; 
     108                                        $podPressContent .= '<a href="#podPressPlayerSpace_'.$GLOBALS['podPressPlayer'].'" onclick="javascript:podPressShowHidePlayer(\''.$GLOBALS['podPressPlayer'].'\', \''.$val['URI_Player'].'\', '.strval(intval($val['dimensionW'])).', '.strval(intval($val['dimensionH'])).', \'true\'); return false;"><span id="podPressPlayerSpace_'.$GLOBALS['podPressPlayer'].'_PlayLink">'.__('Play Now', 'podpress').'</span></a>'; 
    94109                                        $dividerNeeded = true; 
    95110                                        if($podPress->settings['contentAutoDisplayPlayer']) { 
    96                                                 $podPressPlayBlockScripts .= "podPressShowHidePlayer('".$GLOBALS['podPressPlayer']."', '".$val['URI_Player']."',".$val['dimensionW'].",".$val['dimensionH'].", '".$previewVal."', '".$val['previewImage']."');\n"; 
     111                                                $podPressPlayBlockScripts .= 'podPressShowHidePlayer(\''.$GLOBALS['podPressPlayer'].'\', \''.$val['URI_Player'].'\', '.strval(intval($val['dimensionW'])).', '.strval(intval($val['dimensionH'])).', \''.$previewVal.'\', \''.$val['previewImage'].'\');'; 
    97112                                        } 
    98113                                } 
    99114 
     
    101116                                        if($dividerNeeded) { 
    102117                                                $podPressContent .= $divider; 
    103118                                        } 
    104                                         $podPressContent .= "<a href=\"#\" onclick=\"javascript: podPressPopupPlayer('".$GLOBALS['podPressPlayer']."', '".$val['URI_Player']."',".$val['dimensionW'].",".$val['dimensionH']."); return false;\">".__('Play in Popup', 'podpress')."</a>"; 
     119                                        $podPressContent .= '<a href="#podPressPlayerSpace_'.$GLOBALS['podPressPlayer'].'" onclick="javascript:podPressPopupPlayer(\''.$GLOBALS['podPressPlayer'].'\', \''.$val['URI_Player'].'\', '.strval(intval($val['dimensionW'])).', '.strval(intval($val['dimensionH'])).', \''.get_bloginfo('name').'\'); return false;">'.__('Play in Popup', 'podpress').'</a>'; 
    105120                                        $dividerNeeded = true; 
    106121                                } 
    107122 
     
    125140                                        $dividerNeeded = true; 
    126141                                } 
    127142 
    128                                 $podPressContent .= '</div>'."\n".'<!-- End: podPress download link line -->'."\n"; 
    129143                        } 
     144                         
     145                        $podPressContent .= '</div>'."\n".'<!-- End: podPress download link line -->'."\n"; 
    130146                } 
    131147 
    132148                if($podPress->settings['contentAutoDisplayPlayer']) { 
    133149                        $podPressPlayBlockScripts = '<script type="text/javascript"><!--'."\n".$podPressPlayBlockScripts; 
    134                         $podPressPlayBlockScripts .= "\n-->\n</script>"; 
     150                        $podPressPlayBlockScripts .= "\n".'-->'."\n".'</script>'; 
    135151                } 
    136                 return '<div class="podPress_content">'.$podPressContent.'</div>'."\n".$podPressPlayBlockScripts; 
     152                return "<!-- Begin: podPress -->\n".'<div class="podPress_content">'.$podPressContent.'</div>'."\n".$podPressPlayBlockScripts."\n<!-- End: podPress -->\n"; 
    137153        } 
    138154        } 
    139155 
     
    162178                        case 'video_mpg': 
    163179                        case 'video_asf': 
    164180                        case 'video_wmv': 
    165                         case 'video_wma': 
    166181                                return 'Online Video'; 
    167182                                break; 
     183                        case 'audio_wma': 
     184                                return 'Online Audio'; 
     185                                break; 
    168186                        case 'video_swf': 
    169187                                return 'Flash Content'; 
    170188                                break; 
     
    183201                } 
    184202        } 
    185203        } 
    186  
     204?>