PowerPress Podcasting plugin by Blubrry - Version 4.0.2

Version Description

  • Released on 6/29/2012
  • Fixed bug with feed language getting populated with podcast feed title.
  • Changed feed logic from using get_option('rss_language') to bloginfo_rss('language').
  • Feed language logic for older versions of WordPress (versions < 3.4) remains for backwards compatibility.
  • PowerPress the_content filter now checks for a valid post before trying to do anything. This logic is in place to deal with poorly written plugins triggering the_content filter even when no post is loaded.
  • Updated logic for Custom Podcast Channels to work with WordPress 3.4+ Custom Post Types.
  • Auto enable the "fix theme for player" option when Facebook plugin version 1.0 is found.
  • Fixed a number of new PHP notice messages when in WP_DEBUG mode. (Thanks Jeremy Clarke for bringing to our attention)
  • Fix strpos getid3\module.tag.id3v2.php on line 876 PHP warning. (Thanks Zachary_DuBois for bringing to our attention)
  • Added better reporting when paid services expire.
  • Added index.php files to thwart directory listing powerpress folders with PHP scripts.
Download this release

Release Info

Developer amandato
Plugin Icon 128x128 PowerPress Podcasting plugin by Blubrry
Version 4.0.2
Comparing to
See all releases

Code changes from version 4.0.1 to 4.0.2

feed-podcast.php CHANGED
@@ -36,7 +36,7 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
36
  <link><?php bloginfo_rss('url') ?></link>
37
  <description><?php bloginfo_rss("description") ?></description>
38
  <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
39
- <language><?php echo get_option('rss_language'); ?></language>
40
  <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
41
  <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
42
  <?php do_action('rss2_head'); ?>
36
  <link><?php bloginfo_rss('url') ?></link>
37
  <description><?php bloginfo_rss("description") ?></description>
38
  <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
39
+ <language><?php echo bloginfo_rss('language'); ?></language>
40
  <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
41
  <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
42
  <?php do_action('rss2_head'); ?>
getid3/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ # Silence is golden.
getid3/module.tag.id3v2.php CHANGED
@@ -869,6 +869,10 @@ class getid3_id3v2 extends getid3_handler
869
  }
870
  $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
871
  $frame_offset += 3;
 
 
 
 
872
  $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
873
  if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
874
  $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
869
  }
870
  $frame_language = substr($parsedFrame['data'], $frame_offset, 3);
871
  $frame_offset += 3;
872
+ // ADDED BY POWERPRESS: Added the following two lines prevent PHP warnings if offset larger than string length
873
+ if( strlen($parsedFrame['data']) < $frame_offset )
874
+ $frame_offset = strlen($parsedFrame['data']);
875
+ // END ADDED BY POWERPRESS
876
  $frame_terminatorpos = strpos($parsedFrame['data'], $this->TextEncodingTerminatorLookup($frame_textencoding), $frame_offset);
877
  if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($this->TextEncodingTerminatorLookup($frame_textencoding)), 1)) === 0) {
878
  $frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ # Silence is golden.
powerpress.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Blubrry PowerPress
4
  Plugin URI: http://www.blubrry.com/powerpress/
5
  Description: <a href="http://www.blubrry.com/powerpress/" target="_blank">Blubrry PowerPress</a> adds podcasting support to your blog. Features include: media player, 3rd party statistics, iTunes integration, Blubrry Services (Media Statistics and Hosting) integration and a lot more.
6
- Version: 4.0.1
7
  Author: Blubrry
8
  Author URI: http://www.blubrry.com/
9
  Change Log:
@@ -33,7 +33,7 @@ if( !function_exists('add_action') )
33
  die("access denied.");
34
 
35
  // WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
36
- define('POWERPRESS_VERSION', '4.0.1' );
37
 
38
  // Translation support:
39
  if ( !defined('POWERPRESS_ABSPATH') )
@@ -100,6 +100,9 @@ function powerpress_content($content)
100
  if( defined('PODPRESS_VERSION') || isset($GLOBALS['podcasting_player_id']) || isset($GLOBALS['podcast_channel_active']) || defined('PODCASTING_VERSION') )
101
  return $content;
102
 
 
 
 
103
  if( defined('POWERPRESS_DO_ENCLOSE_FIX') )
104
  $content = preg_replace('/\<!--.*added by PowerPress.*-->/im', '', $content );
105
 
@@ -118,6 +121,11 @@ function powerpress_content($content)
118
  // No player or links to add to content...
119
  if( !empty($GeneralSettings['disable_appearance']) )
120
  return $content;
 
 
 
 
 
121
 
122
  if( !empty($GeneralSettings['player_aggressive']) )
123
  {
@@ -862,12 +870,17 @@ function powerpress_bloginfo_rss($content, $field = '')
862
  else if( is_category() )
863
  return get_category_link( get_query_var('cat') );
864
  }; break;
865
- case 'name':
866
- default: {
867
  if( isset($Feed['title']) && $Feed['title'] != '' )
868
  return $Feed['title'];
869
  }; break;
870
-
 
 
 
 
 
 
871
  }
872
  }
873
  }
@@ -898,19 +911,23 @@ function powerpress_wp_title_rss($title)
898
 
899
  add_filter('wp_title_rss', 'powerpress_wp_title_rss');
900
 
901
- function powerpress_rss_language($value)
 
 
902
  {
903
- if( powerpress_is_custom_podcast_feed() )
904
  {
905
- global $powerpress_feed;
906
- if( $powerpress_feed && isset($powerpress_feed['rss_language']) && $powerpress_feed['rss_language'] != '' )
907
- $value = $powerpress_feed['rss_language'];
 
 
 
 
908
  }
909
- return $value;
910
- }
911
-
912
- add_filter('option_rss_language', 'powerpress_rss_language');
913
 
 
 
914
 
915
  function powerpress_do_podcast_feed($for_comments=false)
916
  {
@@ -1090,6 +1107,42 @@ function powerpress_init()
1090
 
1091
  add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
1092
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1093
  // May be used for future use
1094
  /*
1095
  function powerpress_plugins_loaded()
@@ -1119,7 +1172,7 @@ function powerpress_load_general_feed_settings()
1119
  $FeedSettingsBasic = get_option('powerpress_feed'); // Get overall feed settings
1120
 
1121
  // If we're in advanced mode and we're dealing with a category feed we're extending, lets work with it...
1122
- if( is_category() && is_array($GeneralSettings['custom_cat_feeds']) && in_array( get_query_var('cat'), $GeneralSettings['custom_cat_feeds']) )
1123
  {
1124
  $cat_ID = get_query_var('cat');
1125
  $FeedCustom = get_option('powerpress_cat_feed_'.$cat_ID); // Get custom feed specific settings
@@ -1292,6 +1345,7 @@ function powerpress_posts_join($join)
1292
  $join .= " INNER JOIN {$wpdb->postmeta} ";
1293
  $join .= " ON {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id ";
1294
  }
 
1295
  return $join;
1296
  }
1297
 
3
  Plugin Name: Blubrry PowerPress
4
  Plugin URI: http://www.blubrry.com/powerpress/
5
  Description: <a href="http://www.blubrry.com/powerpress/" target="_blank">Blubrry PowerPress</a> adds podcasting support to your blog. Features include: media player, 3rd party statistics, iTunes integration, Blubrry Services (Media Statistics and Hosting) integration and a lot more.
6
+ Version: 4.0.2
7
  Author: Blubrry
8
  Author URI: http://www.blubrry.com/
9
  Change Log:
33
  die("access denied.");
34
 
35
  // WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
36
+ define('POWERPRESS_VERSION', '4.0.2' );
37
 
38
  // Translation support:
39
  if ( !defined('POWERPRESS_ABSPATH') )
100
  if( defined('PODPRESS_VERSION') || isset($GLOBALS['podcasting_player_id']) || isset($GLOBALS['podcast_channel_active']) || defined('PODCASTING_VERSION') )
101
  return $content;
102
 
103
+ if( empty($post->ID) )
104
+ return $content;
105
+
106
  if( defined('POWERPRESS_DO_ENCLOSE_FIX') )
107
  $content = preg_replace('/\<!--.*added by PowerPress.*-->/im', '', $content );
108
 
121
  // No player or links to add to content...
122
  if( !empty($GeneralSettings['disable_appearance']) )
123
  return $content;
124
+
125
+ // check for themes/plugins where we know we need to do this...
126
+ if( !empty($GLOBALS['fb_ver']) && version_compare($GLOBALS['fb_ver'], '1.0', '<=') ) {
127
+ $GeneralSettings['player_aggressive'] = true;
128
+ }
129
 
130
  if( !empty($GeneralSettings['player_aggressive']) )
131
  {
870
  else if( is_category() )
871
  return get_category_link( get_query_var('cat') );
872
  }; break;
873
+ case 'name': {
 
874
  if( isset($Feed['title']) && $Feed['title'] != '' )
875
  return $Feed['title'];
876
  }; break;
877
+ case 'language': {
878
+ if( isset($Feed['rss_language']) && $Feed['rss_language'] != '' )
879
+ $lang = $Feed['rss_language'];
880
+ if( strlen($lang) == 5 )
881
+ $lang = substr($lang,0,3) . strtoupper( substr($lang, 3) );
882
+ return $lang;
883
+ }; break;
884
  }
885
  }
886
  }
911
 
912
  add_filter('wp_title_rss', 'powerpress_wp_title_rss');
913
 
914
+
915
+ // Following code only works for WP 3.3 or older. WP 3.4+ now uses the get_locale setting, so we have to override directly in the get_bloginfo_rss functoin.
916
+ if( version_compare($GLOBALS['wp_version'], '3.4', '<') )
917
  {
918
+ function powerpress_rss_language($value)
919
  {
920
+ if( powerpress_is_custom_podcast_feed() )
921
+ {
922
+ global $powerpress_feed;
923
+ if( $powerpress_feed && isset($powerpress_feed['rss_language']) && $powerpress_feed['rss_language'] != '' )
924
+ $value = $powerpress_feed['rss_language'];
925
+ }
926
+ return $value;
927
  }
 
 
 
 
928
 
929
+ add_filter('option_rss_language', 'powerpress_rss_language');
930
+ }
931
 
932
  function powerpress_do_podcast_feed($for_comments=false)
933
  {
1107
 
1108
  add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
1109
 
1110
+ function powerpress_request($qv)
1111
+ {
1112
+ if( !empty($qv['feed']) )
1113
+ {
1114
+ $podcast_feed_slug = false;
1115
+ if( $qv['feed'] == 'podcast' ) {
1116
+ $podcast_feed_slug = 'podcast';
1117
+ } else if( $qv['feed'] == 'rss' || $qv['feed'] == 'rss2' || $qv['feed'] == 'atom' || $qv['feed'] == 'rdf' || $qv['feed'] == 'feed' ) { // 'feed', 'rdf', 'rss', 'rss2', 'atom'
1118
+ // Skip
1119
+ } else {
1120
+ $GeneralSettings = get_option('powerpress_general');
1121
+ if( isset($GeneralSettings['custom_feeds']) && is_array($GeneralSettings['custom_feeds']) && !empty($GeneralSettings['custom_feeds'][ $qv['feed'] ] ) )
1122
+ $podcast_feed_slug = $qv['feed'];
1123
+ }
1124
+
1125
+ if( $podcast_feed_slug )
1126
+ {
1127
+ if( $qv['feed'] == 'podcast' )
1128
+ $qv['post_type'] = 'post';
1129
+ else {
1130
+ $qv['post_type'] = get_post_types( array('public'=> true, 'capability_type'=>'post') );
1131
+ if( !empty($qv['post_type']['attachment']) )
1132
+ unset($qv['post_type']['attachment']);
1133
+ }
1134
+
1135
+ $FeedCustom = get_option('powerpress_feed_'.$podcast_feed_slug); // Get custom feed specific settings
1136
+ // See if the user set a custom post type only...
1137
+ if( !empty($FeedCustom) && !empty( $FeedCustom['custom_post_type']) )
1138
+ $qv['post_type'] = $FeedCustom['custom_post_type'];
1139
+ }
1140
+ }
1141
+ return $qv;
1142
+ }
1143
+
1144
+ add_filter('request', 'powerpress_request');
1145
+
1146
  // May be used for future use
1147
  /*
1148
  function powerpress_plugins_loaded()
1172
  $FeedSettingsBasic = get_option('powerpress_feed'); // Get overall feed settings
1173
 
1174
  // If we're in advanced mode and we're dealing with a category feed we're extending, lets work with it...
1175
+ if( is_category() && isset($GeneralSettings['custom_cat_feeds']) && is_array($GeneralSettings['custom_cat_feeds']) && in_array( get_query_var('cat'), $GeneralSettings['custom_cat_feeds']) )
1176
  {
1177
  $cat_ID = get_query_var('cat');
1178
  $FeedCustom = get_option('powerpress_cat_feed_'.$cat_ID); // Get custom feed specific settings
1345
  $join .= " INNER JOIN {$wpdb->postmeta} ";
1346
  $join .= " ON {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id ";
1347
  }
1348
+
1349
  return $join;
1350
  }
1351
 
powerpressadmin-basic.php CHANGED
@@ -683,7 +683,7 @@ function powerpressadmin_edit_blubrry_services($General)
683
  <?php echo __('Have an account on Blubrry.com?','powerpress'); ?>
684
  </p>
685
  <p style="font-size: 110%;">
686
- <strong><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?action=powerpress-jquery-account", 'powerpress-jquery-account'); ?>&amp;KeepThis=true&amp;TB_iframe=true&amp;width=500&amp;height=400&amp;modal=true" target="_blank" class="thickbox" style="color: #3D517E;"><?php echo __('Click here to configure your Blubrry settings', 'powerpress'); ?></a></strong>
687
  </p>
688
  <p style="margin-left: 40px;">
689
  <input name="StatsInDashboard" type="checkbox" value="1"<?php if( $StatsInDashboard == true ) echo ' checked'; ?> />
@@ -724,7 +724,7 @@ function powerpressadmin_edit_blubrry_services($General)
724
  <?php echo __('Blubrry Services', 'powerpress'); ?>*
725
  </th>
726
  <td>
727
- <p style="margin-top: 5px;"><span id="service_mode"><?php echo $ModeDesc; ?></span> (<strong><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?action=powerpress-jquery-account", 'powerpress-jquery-account'); ?>&amp;KeepThis=true&amp;TB_iframe=true&amp;width=500&amp;height=400&amp;modal=true" target="_blank" class="thickbox" style="color: #3D517E;"><?php echo __('Click here to configure Blubrry Services', 'powerpress'); ?></a></strong>)</p>
728
  </td>
729
  </tr>
730
 
683
  <?php echo __('Have an account on Blubrry.com?','powerpress'); ?>
684
  </p>
685
  <p style="font-size: 110%;">
686
+ <strong><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?action=powerpress-jquery-account", 'powerpress-jquery-account'); ?>&amp;KeepThis=true&amp;TB_iframe=true&amp;width=600&amp;height=400&amp;modal=true" target="_blank" class="thickbox" style="color: #3D517E;"><?php echo __('Click here to configure your Blubrry settings', 'powerpress'); ?></a></strong>
687
  </p>
688
  <p style="margin-left: 40px;">
689
  <input name="StatsInDashboard" type="checkbox" value="1"<?php if( $StatsInDashboard == true ) echo ' checked'; ?> />
724
  <?php echo __('Blubrry Services', 'powerpress'); ?>*
725
  </th>
726
  <td>
727
+ <p style="margin-top: 5px;"><span id="service_mode"><?php echo $ModeDesc; ?></span> (<strong><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?action=powerpress-jquery-account", 'powerpress-jquery-account'); ?>&amp;KeepThis=true&amp;TB_iframe=true&amp;width=600&amp;height=400&amp;modal=true" target="_blank" class="thickbox" style="color: #3D517E;"><?php echo __('Click here to configure Blubrry Services', 'powerpress'); ?></a></strong>)</p>
728
  </td>
729
  </tr>
730
 
powerpressadmin-dashboard.php CHANGED
@@ -223,7 +223,7 @@ function powerpress_dashboard_setup()
223
 
224
  // PowerPress Dashboard Notice 1:
225
  $Notice1Dashboard = false;
226
- if( $Settings['timestamp'] < mktime(0, 0, 0, 5, 15, 2012) )
227
  {
228
  $Notice1Dashboard = true;
229
  // Now check if they dismissed the notice...
223
 
224
  // PowerPress Dashboard Notice 1:
225
  $Notice1Dashboard = false;
226
+ if( !empty($Settings['timestamp']) && $Settings['timestamp'] < mktime(0, 0, 0, 5, 15, 2012) )
227
  {
228
  $Notice1Dashboard = true;
229
  // Now check if they dismissed the notice...
powerpressadmin-editfeed.php CHANGED
@@ -582,7 +582,8 @@ while( list($value,$desc) = each($Languages) )
582
  ?>
583
  </select>
584
  <?php
585
- $rss_language = get_option('rss_language');
 
586
  if( isset($Languages[ $rss_language ]) )
587
  {
588
  ?>
582
  ?>
583
  </select>
584
  <?php
585
+ $rss_language = get_bloginfo_rss('language');
586
+ $rss_language = strtolower($rss_language);
587
  if( isset($Languages[ $rss_language ]) )
588
  {
589
  ?>
powerpressadmin-jquery.php CHANGED
@@ -210,6 +210,24 @@ function DeleteMedia(File)
210
  <div id="media-header">
211
  <h2><?php echo __('Select Media', 'powerpress'); ?></h2>
212
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  if( $Msg )
214
  echo '<p>'. $Msg . '</p>';
215
  ?>
@@ -272,28 +290,51 @@ function DeleteMedia(File)
272
  <div id="media-footer">
273
  <div class="media-upload-link"><a href="<?php echo admin_url() . wp_nonce_url("admin.php?action=powerpress-jquery-upload", 'powerpress-jquery-upload'); ?>&podcast-feed=<?php echo $FeedSlug; ?>&keepThis=true&TB_iframe=true&height=350&width=530&modal=true" class="thickbox"><?php echo __('Upload Media File', 'powerpress'); ?></a></div>
274
  <?php
275
- if( $QuotaData ) {
 
276
  $NextDate = strtotime( $QuotaData['published']['next_date']);
277
  ?>
278
  <p><?php
279
- echo sprintf( __('You have uploaded %s (%s available) of your %s limit.', 'powerpress'),
280
- '<em>'. powerpress_byte_size($QuotaData['unpublished']['used']) .'</em>',
281
- '<em>'. powerpress_byte_size($QuotaData['unpublished']['available']) .'</em>',
282
- '<em>'. powerpress_byte_size($QuotaData['unpublished']['total']) .'</em>' );
 
 
 
 
 
 
 
283
  ?>
284
  </p>
285
  <p><?php
286
- echo sprintf( __('You are hosting %s (%s available) of your %s/30 day limit.', 'powerpress'),
287
- '<em>'. powerpress_byte_size($QuotaData['published']['total']-$QuotaData['published']['available']) .'</em>',
288
- '<em>'. powerpress_byte_size($QuotaData['published']['available']) .'</em>',
289
- '<em>'. powerpress_byte_size($QuotaData['published']['total']) .'</em>' );
 
 
 
 
 
 
 
 
 
 
 
 
290
  ?>
291
  </p>
292
  <p><?php
 
 
293
  echo sprintf( __('Your limit will adjust on %s to %s (%s available).', 'powerpress'),
294
  date('m/d/Y', $NextDate),
295
  '<em>'. powerpress_byte_size($QuotaData['published']['total']-$QuotaData['published']['next_available']) .'</em>',
296
  '<em>'. powerpress_byte_size($QuotaData['published']['next_available']) .'</em>' );
 
297
  ?>
298
  </p>
299
  <?php } ?>
@@ -487,6 +528,13 @@ function DeleteMedia(File)
487
  if( !$Settings )
488
  $Settings = get_option('powerpress_general');
489
 
 
 
 
 
 
 
 
490
  if( $Programs == false )
491
  $Programs = array();
492
 
@@ -559,6 +607,18 @@ while( list($value,$desc) = each($Programs) )
559
 
560
  $RedirectURL = false;
561
  $Error = false;
 
 
 
 
 
 
 
 
 
 
 
 
562
  if( $Settings['blubrry_hosting'] == 0 )
563
  {
564
  $Error = __('This feature is available to Blubrry Hosting users only.','powerpress');
210
  <div id="media-header">
211
  <h2><?php echo __('Select Media', 'powerpress'); ?></h2>
212
  <?php
213
+
214
+ if( !empty($results['quota']['expires'] ) )
215
+ {
216
+ $message = '';
217
+ if( !empty($results['quota']['expires']['expired']) )
218
+ {
219
+ $message = '<p>'. sprintf( __('Media hosting service expired on %s.', 'powerpress'), $results['quota']['expires']['readable_date']) . '</p>';
220
+ }
221
+ else
222
+ {
223
+ $message = '<p>'. sprintf( __('Media hosting service will expire on %s.', 'powerpress'), $results['quota']['expires']['readable_date']) . '</p>';
224
+ }
225
+
226
+ $message .= '<p style="text-align: center;"><strong><a href="'. $results['quota']['expires']['renew_link'] .'" target="_blank" style="text-decoration: underline;">'. __('Renew Media Hosting Service', 'powerpress') . '</a></strong></p>';
227
+ powerpress_page_message_add_notice( $message );
228
+ powerpress_page_message_print();
229
+ }
230
+
231
  if( $Msg )
232
  echo '<p>'. $Msg . '</p>';
233
  ?>
290
  <div id="media-footer">
291
  <div class="media-upload-link"><a href="<?php echo admin_url() . wp_nonce_url("admin.php?action=powerpress-jquery-upload", 'powerpress-jquery-upload'); ?>&podcast-feed=<?php echo $FeedSlug; ?>&keepThis=true&TB_iframe=true&height=350&width=530&modal=true" class="thickbox"><?php echo __('Upload Media File', 'powerpress'); ?></a></div>
292
  <?php
293
+ if( $QuotaData ) {
294
+
295
  $NextDate = strtotime( $QuotaData['published']['next_date']);
296
  ?>
297
  <p><?php
298
+ if( $QuotaData['unpublished']['available'] != $QuotaData['unpublished']['total'] )
299
+ {
300
+ echo sprintf( __('You have uploaded %s (%s available) of your %s upload limit.', 'powerpress'),
301
+ '<em>'. powerpress_byte_size($QuotaData['unpublished']['used']) .'</em>',
302
+ '<em>'. powerpress_byte_size($QuotaData['unpublished']['available']) .'</em>',
303
+ '<em>'. powerpress_byte_size($QuotaData['unpublished']['total']) .'</em>' );
304
+ }
305
+ else
306
+ {
307
+
308
+ }
309
  ?>
310
  </p>
311
  <p><?php
312
+ if( $QuotaData['published']['available'] != $QuotaData['published']['total'] )
313
+ {
314
+ echo sprintf( __('You have %s available (%s published in the last 30 days) of your %s publish limit.', 'powerpress'),
315
+ '<em>'. powerpress_byte_size($QuotaData['published']['available']) .'</em>',
316
+ '<em>'. powerpress_byte_size($QuotaData['published']['total']-$QuotaData['published']['available']) .'</em>',
317
+ '<em>'. powerpress_byte_size($QuotaData['published']['total']) .'</em>' );
318
+ }
319
+ else if( $QuotaData['published']['available'] == 0 ) // Hosting account frozen
320
+ {
321
+
322
+ }
323
+ else
324
+ {
325
+ echo sprintf( __('You have %s publish space available.', 'powerpress'),
326
+ '<em>'. powerpress_byte_size($QuotaData['published']['total']) .'</em>' );
327
+ }
328
  ?>
329
  </p>
330
  <p><?php
331
+ if( $QuotaData['published']['available'] != $QuotaData['published']['total'] )
332
+ {
333
  echo sprintf( __('Your limit will adjust on %s to %s (%s available).', 'powerpress'),
334
  date('m/d/Y', $NextDate),
335
  '<em>'. powerpress_byte_size($QuotaData['published']['total']-$QuotaData['published']['next_available']) .'</em>',
336
  '<em>'. powerpress_byte_size($QuotaData['published']['next_available']) .'</em>' );
337
+ }
338
  ?>
339
  </p>
340
  <?php } ?>
528
  if( !$Settings )
529
  $Settings = get_option('powerpress_general');
530
 
531
+ if( empty($Settings['blubrry_username']) )
532
+ $Settings['blubrry_username'] = '';
533
+ if( empty($Settings['blubrry_hosting']) )
534
+ $Settings['blubrry_hosting'] = 0;
535
+ if( empty($Settings['blubrry_program_keyword']) )
536
+ $Settings['blubrry_program_keyword'] = '';
537
+
538
  if( $Programs == false )
539
  $Programs = array();
540
 
607
 
608
  $RedirectURL = false;
609
  $Error = false;
610
+
611
+ if( !$Settings )
612
+ $Settings = get_option('powerpress_general');
613
+
614
+ if( empty($Settings['blubrry_hosting']) )
615
+ $Settings['blubrry_hosting'] = 0;
616
+ if( empty($Settings['blubrry_program_keyword']) )
617
+ $Settings['blubrry_program_keyword'] = '';
618
+ if( empty($Settings['blubrry_auth']) )
619
+ $Settings['blubrry_auth'] = '';
620
+
621
+
622
  if( $Settings['blubrry_hosting'] == 0 )
623
  {
624
  $Error = __('This feature is available to Blubrry Hosting users only.','powerpress');
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: Angelo Mandato, Blubrry.com
3
  Tags: podcasting, podcast, podcaster, itunes, enclosure, zune, iphone, youtube, viddler, blip.tv, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, webm, mp4, m4v, wordpressmu, mu, wordpress mu, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog
4
  Requires at least: 3.0
5
- Tested up to: 3.4
6
- Stable tag: 4.0.1
7
 
8
  Blubrry PowerPress brings the essential features for podcasting to WordPress including full iTunes support, web audio/video media players and more.
9
 
@@ -153,6 +153,20 @@ To install Blubrry PowerPress manually, follow these steps:
153
  * Translation support is now complete. Please visit the following link if you would like to have a version in your language: [http://www.blubrry.com/powerpress_translate/](http://www.blubrry.com/powerpress_translate/)
154
 
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  = 4.0.1 =
157
  * Released on 6/15/2012
158
  * Fixed bug with "Feed Episode Maximizer" option only working if the "Feature Episode in iTunes" option was also turned on.
2
  Contributors: Angelo Mandato, Blubrry.com
3
  Tags: podcasting, podcast, podcaster, itunes, enclosure, zune, iphone, youtube, viddler, blip.tv, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, webm, mp4, m4v, wordpressmu, mu, wordpress mu, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog
4
  Requires at least: 3.0
5
+ Tested up to: 3.4.1
6
+ Stable tag: 4.0.2
7
 
8
  Blubrry PowerPress brings the essential features for podcasting to WordPress including full iTunes support, web audio/video media players and more.
9
 
153
  * Translation support is now complete. Please visit the following link if you would like to have a version in your language: [http://www.blubrry.com/powerpress_translate/](http://www.blubrry.com/powerpress_translate/)
154
 
155
 
156
+ = 4.0.2 =
157
+ * Released on 6/29/2012
158
+ * Fixed bug with feed language getting populated with podcast feed title.
159
+ * Changed feed logic from using `get_option('rss_language')` to `bloginfo_rss('language')`.
160
+ * Feed language logic for older versions of WordPress (versions < 3.4) remains for backwards compatibility.
161
+ * PowerPress the_content filter now checks for a valid post before trying to do anything. This logic is in place to deal with poorly written plugins triggering the_content filter even when no post is loaded.
162
+ * Updated logic for Custom Podcast Channels to work with WordPress 3.4+ Custom Post Types.
163
+ * Auto enable the "fix theme for player" option when Facebook plugin version 1.0 is found.
164
+ * Fixed a number of new PHP notice messages when in `WP_DEBUG` mode. (Thanks Jeremy Clarke for bringing to our attention)
165
+ * Fix strpos getid3\module.tag.id3v2.php on line 876 PHP warning. (Thanks Zachary_DuBois for bringing to our attention)
166
+ * Added better reporting when paid services expire.
167
+ * Added index.php files to thwart directory listing powerpress folders with PHP scripts.
168
+
169
+
170
  = 4.0.1 =
171
  * Released on 6/15/2012
172
  * Fixed bug with "Feed Episode Maximizer" option only working if the "Feature Episode in iTunes" option was also turned on.