Version Description
- Released on 5/7/2015
- Added define option
POWERPRESS_DEFAULT_MEDIA_URL
to enable the default media URL field. - Fixed notice messages being printed when populating category podcasting settings (thanks slapdashcast for bringing to our attention)
- iTunes image requirements updated, 3000x3000 is now the maximum (previously 2048x2048) for iTunes artwork. 1400x1400 is still the recommended size.
- Added Subscribe on Android, the one-click subscribe protocol for Android. There are currently 6 Android apps that support Subscribe on Android one-click with more to follow in the coming weeks.
- PowerPress Playlist Player SQLi injection vulnerability fixed (Thanks Ben Bidner, Security Wrangler @ Automattic.com!)
- Subscribe tools now use the esc_attr, esc_url and esc_html native WordPress functions (rather than htmlspecialchars).
Download this release
Release Info
Developer | amandato |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 6.0.3 |
Comparing to | |
See all releases |
Code changes from version 6.0.2 to 6.0.3
- class.powerpress-subscribe-widget.php +8 -2
- css/subscribe.css +6 -0
- images/spriteRetina.png +0 -0
- images/spriteStandard.png +0 -0
- powerpress-playlist.php +4 -6
- powerpress-subscribe.php +56 -21
- powerpress.php +7 -4
- powerpressadmin-basic.php +3 -3
- powerpressadmin.php +3 -3
- readme.txt +12 -2
class.powerpress-subscribe-widget.php
CHANGED
@@ -81,6 +81,9 @@ body .pp-ssb-widget a.pp-ssb-btn:hover {
|
|
81 |
.pp-ssb-widget-modern a.pp-ssb-email {
|
82 |
background-color: #337EC9;
|
83 |
}
|
|
|
|
|
|
|
84 |
.pp-ssb-widget-modern a.pp-ssb-rss {
|
85 |
background-color: #FF8800;
|
86 |
}
|
@@ -91,7 +94,7 @@ body .pp-ssb-widget a.pp-ssb-btn:hover {
|
|
91 |
display: inline-block;
|
92 |
vertical-align: middle;
|
93 |
margin-right: 2px;
|
94 |
-
background-image: url(<?php echo powerpress_get_root_url();
|
95 |
background-repeat: no-repeat;
|
96 |
background-size: 294px;
|
97 |
}
|
@@ -104,6 +107,9 @@ body .pp-ssb-widget a.pp-ssb-btn:hover {
|
|
104 |
.pp-ssb-email .pp-ssb-ic {
|
105 |
background-position: -196px -49px;
|
106 |
}
|
|
|
|
|
|
|
107 |
.pp-ssb-more .pp-ssb-ic {
|
108 |
background-position: -49px -49px;
|
109 |
}
|
@@ -113,7 +119,7 @@ body .pp-ssb-widget a.pp-ssb-btn:hover {
|
|
113 |
only screen and (-o-min-device-pixel-ratio: 200/100),
|
114 |
only screen and (min-device-pixel-ratio: 2.0) {
|
115 |
.pp-sub-ic {
|
116 |
-
background-image: url(<?php echo powerpress_get_root_url();
|
117 |
}
|
118 |
}
|
119 |
</style>
|
81 |
.pp-ssb-widget-modern a.pp-ssb-email {
|
82 |
background-color: #337EC9;
|
83 |
}
|
84 |
+
.pp-ssb-widget-modern a.pp-ssb-android {
|
85 |
+
background-color: #6AB344;
|
86 |
+
}
|
87 |
.pp-ssb-widget-modern a.pp-ssb-rss {
|
88 |
background-color: #FF8800;
|
89 |
}
|
94 |
display: inline-block;
|
95 |
vertical-align: middle;
|
96 |
margin-right: 2px;
|
97 |
+
background-image: url(<?php echo powerpress_get_root_url(); ?>images/spriteStandard.png);
|
98 |
background-repeat: no-repeat;
|
99 |
background-size: 294px;
|
100 |
}
|
107 |
.pp-ssb-email .pp-ssb-ic {
|
108 |
background-position: -196px -49px;
|
109 |
}
|
110 |
+
.pp-ssb-android .pp-ssb-ic {
|
111 |
+
background-position: -98px -98px;
|
112 |
+
}
|
113 |
.pp-ssb-more .pp-ssb-ic {
|
114 |
background-position: -49px -49px;
|
115 |
}
|
119 |
only screen and (-o-min-device-pixel-ratio: 200/100),
|
120 |
only screen and (min-device-pixel-ratio: 2.0) {
|
121 |
.pp-sub-ic {
|
122 |
+
background-image: url(<?php echo powerpress_get_root_url(); ?>images/spriteRetina.png);
|
123 |
}
|
124 |
}
|
125 |
</style>
|
css/subscribe.css
CHANGED
@@ -125,6 +125,9 @@ body .pp-sub-widget a:hover {
|
|
125 |
.pp-sub-widget-modern a.pp-sub-rss {
|
126 |
background-color: #FF8800;
|
127 |
}
|
|
|
|
|
|
|
128 |
|
129 |
.pp-sub-widget-modern div.pp-sub-h,
|
130 |
.pp-sub-widget-modern p.pp-sub-m-p {
|
@@ -159,6 +162,9 @@ body .pp-sub-widget a:hover {
|
|
159 |
.pp-sub-bp .pp-sub-ic {
|
160 |
background-position: -147px 0;
|
161 |
}
|
|
|
|
|
|
|
162 |
|
163 |
/* Retina-specific stuff here */
|
164 |
@media only screen and (-webkit-min-device-pixel-ratio: 2.0),
|
125 |
.pp-sub-widget-modern a.pp-sub-rss {
|
126 |
background-color: #FF8800;
|
127 |
}
|
128 |
+
.pp-sub-widget-modern a.pp-sub-android {
|
129 |
+
background-color: #6AB344;
|
130 |
+
}
|
131 |
|
132 |
.pp-sub-widget-modern div.pp-sub-h,
|
133 |
.pp-sub-widget-modern p.pp-sub-m-p {
|
162 |
.pp-sub-bp .pp-sub-ic {
|
163 |
background-position: -147px 0;
|
164 |
}
|
165 |
+
.pp-sub-android .pp-sub-ic {
|
166 |
+
background-position: -98px -98px;
|
167 |
+
}
|
168 |
|
169 |
/* Retina-specific stuff here */
|
170 |
@media only screen and (-webkit-min-device-pixel-ratio: 2.0),
|
images/spriteRetina.png
CHANGED
Binary file
|
images/spriteStandard.png
CHANGED
Binary file
|
powerpress-playlist.php
CHANGED
@@ -152,19 +152,17 @@ function powerpress_playlist_episodes($args)
|
|
152 |
if( !empty($TaxonomyObj->term_taxonomy_id) )
|
153 |
$query .= "INNER JOIN {$wpdb->term_relationships} AS tr ON p.ID = tr.object_id ";
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
else
|
158 |
-
$query .= "WHERE (pm.meta_key = '_".$args['slug'].":enclosure') ";
|
159 |
-
$query .= "AND p.post_type = '". $args['post_type'] ."' ";
|
160 |
$query .= "AND p.post_status = 'publish' ";
|
161 |
if( !empty($TaxonomyObj->term_taxonomy_id) )
|
162 |
$query .= "AND tr.term_taxonomy_id = '". $TaxonomyObj->term_taxonomy_id ."' ";
|
163 |
|
164 |
$query .= "GROUP BY p.ID ";
|
165 |
$query .= "ORDER BY p.post_date DESC ";
|
166 |
-
$query .= "LIMIT 0, "
|
167 |
|
|
|
168 |
$results_data = $wpdb->get_results($query, ARRAY_A);
|
169 |
if( $results_data )
|
170 |
{
|
152 |
if( !empty($TaxonomyObj->term_taxonomy_id) )
|
153 |
$query .= "INNER JOIN {$wpdb->term_relationships} AS tr ON p.ID = tr.object_id ";
|
154 |
|
155 |
+
$query .= "WHERE (pm.meta_key = %s) ";
|
156 |
+
$query .= "AND p.post_type = %s ";
|
|
|
|
|
|
|
157 |
$query .= "AND p.post_status = 'publish' ";
|
158 |
if( !empty($TaxonomyObj->term_taxonomy_id) )
|
159 |
$query .= "AND tr.term_taxonomy_id = '". $TaxonomyObj->term_taxonomy_id ."' ";
|
160 |
|
161 |
$query .= "GROUP BY p.ID ";
|
162 |
$query .= "ORDER BY p.post_date DESC ";
|
163 |
+
$query .= "LIMIT 0, %d";
|
164 |
|
165 |
+
$query = $wpdb->prepare($query, ($args['slug'] == 'podcast'?'enclosure': '_'.$args['slug'].':enclosure'), $args['post_type'], $args['limit'] );
|
166 |
$results_data = $wpdb->get_results($query, ARRAY_A);
|
167 |
if( $results_data )
|
168 |
{
|
powerpress-subscribe.php
CHANGED
@@ -197,15 +197,36 @@ function powerpressplayer_link_subscribe_pre($content, $media_url, $ExtraData =
|
|
197 |
$itunes_url = preg_replace('/(^https?:\/\/)/i', 'itpc://', $feed_url);
|
198 |
|
199 |
$player_links = '';
|
|
|
200 |
if( !empty($itunes_url) ) {
|
201 |
-
$player_links .= "<a href=\"
|
202 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
if( !empty($SubscribeSettings['subscribe_page_url']) )
|
206 |
{
|
|
|
|
|
|
|
|
|
|
|
207 |
$label = (empty($SubscribeSettings['subscribe_page_link_text'])?__('More Subscribe Options', 'powerpress'):$SubscribeSettings['subscribe_page_link_text']);
|
208 |
-
$player_links .= ' '.POWERPRESS_LINK_SEPARATOR .' ';
|
209 |
$player_links .= "<a href=\"{$SubscribeSettings['subscribe_page_url']}\" class=\"powerpress_link_subscribe powerpress_link_subscribe_more\" title=\"". htmlspecialchars($label) ."\" rel=\"nofollow\">". htmlspecialchars($label) ."</a>".PHP_EOL;
|
210 |
}
|
211 |
$content .= $player_links;
|
@@ -346,7 +367,7 @@ function powerpress_subscribe_shortcode( $attr ) {
|
|
346 |
$html .= '<div>';
|
347 |
$html .= '';
|
348 |
$html .='<a href="';
|
349 |
-
$html .= $Settings['itunes_url'];
|
350 |
$html .= '" target="itunes_store" style="display:inline-block;overflow:hidden;background:url(https://linkmaker.itunes.apple.com/htmlResources/assets/en_us//images/web/linkmaker/badge_subscribe-lrg.png) no-repeat;width:135px;height:40px;}"></a>';
|
351 |
$html .= '</div>';
|
352 |
return $html;
|
@@ -404,35 +425,43 @@ function powerpress_do_subscribe_widget($settings)
|
|
404 |
|
405 |
$htmlX = '';
|
406 |
$html = '';
|
407 |
-
$html .= '<div class="pp-sub-widget pp-sub-widget-'. $settings['style'] .'">';
|
408 |
if( !empty($settings['title']) )
|
409 |
{
|
410 |
if( !isset($settings['heading']) )
|
411 |
$settings['heading'] = __('Subscribe to', 'powerpress');
|
412 |
|
413 |
if( !empty($settings['heading']) ) {
|
414 |
-
$html .= '<div class="pp-sub-h">'.
|
415 |
-
$html .= '<h2 class="pp-sub-t">'.
|
416 |
}
|
417 |
else
|
418 |
{
|
419 |
$settings['title'] = ''; // Make sure it's an empty string
|
420 |
}
|
421 |
$html .= '<div class="pp-sub-bx">';
|
422 |
-
$html .= '<img class="pp-sub-l" src="'.
|
423 |
$html .= '<div class="pp-sub-btns">';
|
424 |
if( !empty($settings['itunes_url']) ) {
|
425 |
-
$html .= '<a href="'.
|
426 |
}
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
431 |
$html .= '</div>';
|
432 |
$html .= '</div>';
|
433 |
$html .= '<div class="pp-sub-m">';
|
434 |
-
$html .= '<p class="pp-sub-m-p">'.
|
435 |
-
$html .= '<input class="pp-sub-m-i" type="text" name="NULL'. rand(0,9999) .'" value="'.
|
436 |
$html .= '</div>';
|
437 |
$html .= '</div>';
|
438 |
|
@@ -463,14 +492,20 @@ function powerpress_do_subscribe_sidebar_widget($settings)
|
|
463 |
$htmlX = '';
|
464 |
$html = '';
|
465 |
|
466 |
-
$html .= '<div class="pp-ssb-widget pp-ssb-widget-'. $settings['style'] .'">';
|
467 |
if( !empty($settings['itunes_url']) ) {
|
468 |
-
$html .= '<a href="'.
|
|
|
|
|
|
|
|
|
|
|
469 |
}
|
470 |
-
|
471 |
-
$
|
|
|
472 |
if( !empty($settings['subscribe_page_url']) )
|
473 |
-
$html .= '<a href="'.
|
474 |
$html .= '</div>';
|
475 |
|
476 |
return $html;
|
197 |
$itunes_url = preg_replace('/(^https?:\/\/)/i', 'itpc://', $feed_url);
|
198 |
|
199 |
$player_links = '';
|
200 |
+
$separator = false;
|
201 |
if( !empty($itunes_url) ) {
|
202 |
+
$player_links .= "<a href=\"". htmlspecialchars($itunes_url) ."\" class=\"powerpress_link_subscribe powerpress_link_subscribe_itunes\" title=\"". __('Subscribe on iTunes', 'powerpress') ."\" rel=\"nofollow\">". __('iTunes','powerpress') ."</a>".PHP_EOL;
|
203 |
+
$separator = true;
|
204 |
+
}
|
205 |
+
|
206 |
+
if( preg_match('/^(https?:\/\/)(.*)$/i', $feed_url, $matches ) ) {
|
207 |
+
if( $separator )
|
208 |
+
$player_links .= ' '.POWERPRESS_LINK_SEPARATOR .' ';
|
209 |
+
else
|
210 |
+
$separator = true;
|
211 |
+
|
212 |
+
$android_url = $matches[1] . 'subscribeonandroid.com/' . $matches[2];
|
213 |
+
$player_links .= "<a href=\"". htmlspecialchars($android_url) ."\" class=\"powerpress_link_subscribe powerpress_link_subscribe_rss\" title=\"". __('Subscribe on Android', 'powerpress') ."\" rel=\"nofollow\">". __('Android','powerpress') ."</a>".PHP_EOL;
|
214 |
}
|
215 |
+
|
216 |
+
if( $separator )
|
217 |
+
$player_links .= ' '.POWERPRESS_LINK_SEPARATOR .' ';
|
218 |
+
else
|
219 |
+
$separator = true;
|
220 |
+
$player_links .= "<a href=\"". htmlspecialchars($feed_url) ."\" class=\"powerpress_link_subscribe powerpress_link_subscribe_rss\" title=\"". __('Subscribe via RSS', 'powerpress') ."\" rel=\"nofollow\">". __('RSS','powerpress') ."</a>".PHP_EOL;
|
221 |
+
|
222 |
if( !empty($SubscribeSettings['subscribe_page_url']) )
|
223 |
{
|
224 |
+
if( $separator )
|
225 |
+
$player_links .= ' '.POWERPRESS_LINK_SEPARATOR .' ';
|
226 |
+
else
|
227 |
+
$separator = true;
|
228 |
+
|
229 |
$label = (empty($SubscribeSettings['subscribe_page_link_text'])?__('More Subscribe Options', 'powerpress'):$SubscribeSettings['subscribe_page_link_text']);
|
|
|
230 |
$player_links .= "<a href=\"{$SubscribeSettings['subscribe_page_url']}\" class=\"powerpress_link_subscribe powerpress_link_subscribe_more\" title=\"". htmlspecialchars($label) ."\" rel=\"nofollow\">". htmlspecialchars($label) ."</a>".PHP_EOL;
|
231 |
}
|
232 |
$content .= $player_links;
|
367 |
$html .= '<div>';
|
368 |
$html .= '';
|
369 |
$html .='<a href="';
|
370 |
+
$html .= esc_url($Settings['itunes_url']);
|
371 |
$html .= '" target="itunes_store" style="display:inline-block;overflow:hidden;background:url(https://linkmaker.itunes.apple.com/htmlResources/assets/en_us//images/web/linkmaker/badge_subscribe-lrg.png) no-repeat;width:135px;height:40px;}"></a>';
|
372 |
$html .= '</div>';
|
373 |
return $html;
|
425 |
|
426 |
$htmlX = '';
|
427 |
$html = '';
|
428 |
+
$html .= '<div class="pp-sub-widget pp-sub-widget-'. esc_attr($settings['style']) .'">';
|
429 |
if( !empty($settings['title']) )
|
430 |
{
|
431 |
if( !isset($settings['heading']) )
|
432 |
$settings['heading'] = __('Subscribe to', 'powerpress');
|
433 |
|
434 |
if( !empty($settings['heading']) ) {
|
435 |
+
$html .= '<div class="pp-sub-h">'. esc_html($settings['heading']) .'</div>'; }
|
436 |
+
$html .= '<h2 class="pp-sub-t">'. esc_html( $settings['title'] ) .'</h2>';
|
437 |
}
|
438 |
else
|
439 |
{
|
440 |
$settings['title'] = ''; // Make sure it's an empty string
|
441 |
}
|
442 |
$html .= '<div class="pp-sub-bx">';
|
443 |
+
$html .= '<img class="pp-sub-l" src="'. esc_url( $settings['image_url'] ) .'" '. (!empty($settings['title'])?' title="'. esc_attr($settings['title']).'" ':'') .'/>';
|
444 |
$html .= '<div class="pp-sub-btns">';
|
445 |
if( !empty($settings['itunes_url']) ) {
|
446 |
+
$html .= '<a href="'. esc_url( $settings['itunes_url'] ) .'" class="pp-sub-btn pp-sub-itunes"><span class="pp-sub-ic"></span>'. esc_html( __('on iTunes', 'powerpress') ) .'</a>';
|
447 |
}
|
448 |
+
|
449 |
+
if( preg_match('/^(https?:\/\/)(.*)$/i', $settings['feed_url'], $matches ) ) {
|
450 |
+
$android_url = $matches[1] . 'subscribeonandroid.com/' . $matches[2];
|
451 |
+
$html .= '<a href="'. esc_url( $android_url ) .'" class="pp-sub-btn pp-sub-android"><span class="pp-sub-ic"></span>'. esc_html( __('on Android', 'powerpress') ) .'</a>';
|
452 |
+
}
|
453 |
+
|
454 |
+
$html .= '<a href="'. esc_url( $settings['feed_url'] ) .'" class="pp-sub-btn pp-sub-rss"><span class="pp-sub-ic"></span>'. esc_html( __('via RSS', 'powerpress') ) .'</a>';
|
455 |
+
|
456 |
+
// May want these back, not sure.
|
457 |
+
//$html .= '<a href="'. esc_url( $settings['feed_url'] ) .'" class="pp-sub-btn pp-sub-bp"><span class="pp-sub-ic"></span>'. esc_html( __('BeyondPod for Android', 'powerpress') ) .'</a>';
|
458 |
+
//$html .= '<a href="'. esc_url( $settings['feed_url'] ) .'" class="pp-sub-btn pp-sub-pr"><span class="pp-sub-ic"></span>'. esc_html( __('Podcast Republic for Android', 'powerpress') ) .'</a>';
|
459 |
+
|
460 |
$html .= '</div>';
|
461 |
$html .= '</div>';
|
462 |
$html .= '<div class="pp-sub-m">';
|
463 |
+
$html .= '<p class="pp-sub-m-p">'. esc_html( __('Or subscribe with your favorite app by using the address below', 'powerpress') ) .'</p>';
|
464 |
+
$html .= '<input class="pp-sub-m-i" type="text" name="NULL'. rand(0,9999) .'" value="'. esc_attr( $settings['feed_url'] ) .'" onclick="this.focus();this.select();" />';
|
465 |
$html .= '</div>';
|
466 |
$html .= '</div>';
|
467 |
|
492 |
$htmlX = '';
|
493 |
$html = '';
|
494 |
|
495 |
+
$html .= '<div class="pp-ssb-widget pp-ssb-widget-'. esc_attr($settings['style']) .'">';
|
496 |
if( !empty($settings['itunes_url']) ) {
|
497 |
+
$html .= '<a href="'. esc_url( $settings['itunes_url'] ) .'" class="pp-ssb-btn pp-ssb-itunes"><span class="pp-ssb-ic"></span>'. esc_html( __('on iTunes', 'powerpress') ) .'</a>';
|
498 |
+
}
|
499 |
+
|
500 |
+
if( preg_match('/^(https?:\/\/)(.*)$/i', $settings['feed_url'], $matches ) ) {
|
501 |
+
$android_url = $matches[1] . 'subscribeonandroid.com/' . $matches[2];
|
502 |
+
$html .= '<a href="'. esc_url( $android_url ) .'" class="pp-ssb-btn pp-ssb-android"><span class="pp-ssb-ic"></span>'. esc_html( __('on Android', 'powerpress') ) .'</a>';
|
503 |
}
|
504 |
+
|
505 |
+
$html .= '<a href="'. esc_url( $settings['feed_url'] ) .'" class="pp-ssb-btn pp-ssb-rss"><span class="pp-ssb-ic"></span>'. esc_html( __('via RSS', 'powerpress') ) .'</a>';
|
506 |
+
$htmlX .= '<a href="" class="pp-ssb-btn pp-ssb-email"><span class="pp--ic"></span>'. esc_html( __('via Email', 'powerpress') ) .'</a>';
|
507 |
if( !empty($settings['subscribe_page_url']) )
|
508 |
+
$html .= '<a href="'. esc_url( $settings['subscribe_page_url'] ) .'" class="pp-ssb-btn pp-ssb-more"><span class="pp-ssb-ic"></span>'. esc_html( __('More Subscribe Options', 'powerpress') ) .'</a>';
|
509 |
$html .= '</div>';
|
510 |
|
511 |
return $html;
|
powerpress.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="http://create.blubrry.com/resources/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: 6.0.
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Change Log:
|
@@ -32,7 +32,7 @@ if( !function_exists('add_action') )
|
|
32 |
die("access denied.");
|
33 |
|
34 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
35 |
-
define('POWERPRESS_VERSION', '6.0.
|
36 |
|
37 |
// Translation support:
|
38 |
if ( !defined('POWERPRESS_ABSPATH') )
|
@@ -1498,7 +1498,9 @@ function powerpress_load_general_feed_settings()
|
|
1498 |
$powerpress_feed['category'] = $cat_ID;
|
1499 |
$powerpress_feed['process_podpress'] = !empty($GeneralSettings['process_podpress']); // Category feeds could originate from Podpress
|
1500 |
$powerpress_feed['rss_language'] = ''; // default, let WordPress set the language
|
1501 |
-
$powerpress_feed['default_url'] =
|
|
|
|
|
1502 |
$explicit_array = array("no", "yes", "clean");
|
1503 |
$powerpress_feed['explicit'] = $explicit_array[$Feed['itunes_explicit']];
|
1504 |
if( $Feed['itunes_talent_name'] )
|
@@ -1511,7 +1513,8 @@ function powerpress_load_general_feed_settings()
|
|
1511 |
$powerpress_feed['posts_per_rss'] = false;
|
1512 |
if( !empty($Feed['posts_per_rss']) && is_numeric($Feed['posts_per_rss']) && $Feed['posts_per_rss'] > 0 )
|
1513 |
$powerpress_feed['posts_per_rss'] = $Feed['posts_per_rss'];
|
1514 |
-
|
|
|
1515 |
$powerpress_feed['feed_redirect_url'] = $Feed['feed_redirect_url'];
|
1516 |
if( $Feed['itunes_author_post'] == true )
|
1517 |
$powerpress_feed['itunes_author_post'] = true;
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="http://create.blubrry.com/resources/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: 6.0.3
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Change Log:
|
32 |
die("access denied.");
|
33 |
|
34 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
35 |
+
define('POWERPRESS_VERSION', '6.0.3' );
|
36 |
|
37 |
// Translation support:
|
38 |
if ( !defined('POWERPRESS_ABSPATH') )
|
1498 |
$powerpress_feed['category'] = $cat_ID;
|
1499 |
$powerpress_feed['process_podpress'] = !empty($GeneralSettings['process_podpress']); // Category feeds could originate from Podpress
|
1500 |
$powerpress_feed['rss_language'] = ''; // default, let WordPress set the language
|
1501 |
+
$powerpress_feed['default_url'] = '';
|
1502 |
+
if( !empty($GeneralSettings['default_url']) )
|
1503 |
+
$powerpress_feed['default_url'] = rtrim($GeneralSettings['default_url'], '/') .'/';
|
1504 |
$explicit_array = array("no", "yes", "clean");
|
1505 |
$powerpress_feed['explicit'] = $explicit_array[$Feed['itunes_explicit']];
|
1506 |
if( $Feed['itunes_talent_name'] )
|
1513 |
$powerpress_feed['posts_per_rss'] = false;
|
1514 |
if( !empty($Feed['posts_per_rss']) && is_numeric($Feed['posts_per_rss']) && $Feed['posts_per_rss'] > 0 )
|
1515 |
$powerpress_feed['posts_per_rss'] = $Feed['posts_per_rss'];
|
1516 |
+
$powerpress_feed['feed_redirect_url'] = '';
|
1517 |
+
if( !empty($Feed['feed_redirect_url']) )
|
1518 |
$powerpress_feed['feed_redirect_url'] = $Feed['feed_redirect_url'];
|
1519 |
if( $Feed['itunes_author_post'] == true )
|
1520 |
$powerpress_feed['itunes_author_post'] = true;
|
powerpressadmin-basic.php
CHANGED
@@ -478,7 +478,7 @@ SelectEmbedField(<?php echo $General['episode_box_embed']; ?>);
|
|
478 |
if( !empty($General['hide_warnings']) )
|
479 |
$AdvanecdOptions = true;
|
480 |
|
481 |
-
$DefaultMediaURL =
|
482 |
|
483 |
if( !empty($General['default_url']) )
|
484 |
$DefaultMediaURL = true;
|
@@ -489,7 +489,7 @@ SelectEmbedField(<?php echo $General['episode_box_embed']; ?>);
|
|
489 |
<?php } ?>
|
490 |
<!-- start advanced features -->
|
491 |
<div id="advanced_basic_options" <?php echo ($AdvanecdOptions?'':'style="display:none;"'); ?>>
|
492 |
-
<?php if( $DefaultMediaURL ) { ?>
|
493 |
<table class="form-table">
|
494 |
<tr valign="top">
|
495 |
<th scope="row"><?php echo __('Default Media URL', 'powerpress'); ?></th>
|
@@ -1409,7 +1409,7 @@ function powerpressadmin_edit_artwork($FeedSettings, $General)
|
|
1409 |
<input type="text" id="itunes_image" name="Feed[itunes_image]" style="width: 60%;" value="<?php echo esc_attr( !empty($FeedSettings['itunes_image'])? $FeedSettings['itunes_image']:''); ?>" maxlength="250" />
|
1410 |
<a href="#" onclick="javascript: window.open( document.getElementById('itunes_image').value ); return false;"><?php echo __('preview', 'powerpress'); ?></a>
|
1411 |
|
1412 |
-
<p><?php echo __('iTunes image must be at least 1400 x 1400 pixels in .jpg or .png format. iTunes image must not exceed
|
1413 |
</p>
|
1414 |
|
1415 |
<p><strong><?php echo __('A square 1400 x 1400 pixel image in .jpg format is recommended.', 'powerpress'); ?></strong></p>
|
478 |
if( !empty($General['hide_warnings']) )
|
479 |
$AdvanecdOptions = true;
|
480 |
|
481 |
+
$DefaultMediaURL = false;
|
482 |
|
483 |
if( !empty($General['default_url']) )
|
484 |
$DefaultMediaURL = true;
|
489 |
<?php } ?>
|
490 |
<!-- start advanced features -->
|
491 |
<div id="advanced_basic_options" <?php echo ($AdvanecdOptions?'':'style="display:none;"'); ?>>
|
492 |
+
<?php if( $DefaultMediaURL || defined('POWERPRESS_DEFAULT_MEDIA_URL') ) { ?>
|
493 |
<table class="form-table">
|
494 |
<tr valign="top">
|
495 |
<th scope="row"><?php echo __('Default Media URL', 'powerpress'); ?></th>
|
1409 |
<input type="text" id="itunes_image" name="Feed[itunes_image]" style="width: 60%;" value="<?php echo esc_attr( !empty($FeedSettings['itunes_image'])? $FeedSettings['itunes_image']:''); ?>" maxlength="250" />
|
1410 |
<a href="#" onclick="javascript: window.open( document.getElementById('itunes_image').value ); return false;"><?php echo __('preview', 'powerpress'); ?></a>
|
1411 |
|
1412 |
+
<p><?php echo __('iTunes image must be at least 1400 x 1400 pixels in .jpg or .png format. iTunes image must not exceed 3000 x 3000 pixels and must use RGB color space.', 'powerpress'); ?> <?php echo __('Example', 'powerpress'); ?>: http://example.com/images/itunes.jpg
|
1413 |
</p>
|
1414 |
|
1415 |
<p><strong><?php echo __('A square 1400 x 1400 pixel image in .jpg format is recommended.', 'powerpress'); ?></strong></p>
|
powerpressadmin.php
CHANGED
@@ -168,7 +168,7 @@ function powerpress_admin_init()
|
|
168 |
|
169 |
if( $ImageData )
|
170 |
{
|
171 |
-
if( $rgb && ( $ImageData[2] == IMAGETYPE_JPEG || $ImageData[2] == IMAGETYPE_PNG ) && $ImageData[0] == $ImageData[1] && $ImageData[0] >= 1400 && $ImageData[0] <=
|
172 |
{
|
173 |
if( !move_uploaded_file($temp, $upload_path . $filename) )
|
174 |
{
|
@@ -200,9 +200,9 @@ function powerpress_admin_init()
|
|
200 |
{
|
201 |
powerpress_page_message_add_error( __('Invalid iTunes image', 'powerpress') .': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) .' - '. __('Image is too small, 1400 x 1400 is the required minimum size.', 'powerprss') );
|
202 |
}
|
203 |
-
else if( $ImageData[0] != $ImageData[1] || $ImageData[0] >
|
204 |
{
|
205 |
-
powerpress_page_message_add_error( __('Invalid iTunes image', 'powerpress') .': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) .' - '. __('Image is too large,
|
206 |
}
|
207 |
else
|
208 |
{
|
168 |
|
169 |
if( $ImageData )
|
170 |
{
|
171 |
+
if( $rgb && ( $ImageData[2] == IMAGETYPE_JPEG || $ImageData[2] == IMAGETYPE_PNG ) && $ImageData[0] == $ImageData[1] && $ImageData[0] >= 1400 && $ImageData[0] <= 3000 && $ImageData['channels'] == 3 ) // Just check that it is an image, the correct image type and that the image is square
|
172 |
{
|
173 |
if( !move_uploaded_file($temp, $upload_path . $filename) )
|
174 |
{
|
200 |
{
|
201 |
powerpress_page_message_add_error( __('Invalid iTunes image', 'powerpress') .': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) .' - '. __('Image is too small, 1400 x 1400 is the required minimum size.', 'powerprss') );
|
202 |
}
|
203 |
+
else if( $ImageData[0] != $ImageData[1] || $ImageData[0] > 3000 )
|
204 |
{
|
205 |
+
powerpress_page_message_add_error( __('Invalid iTunes image', 'powerpress') .': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) .' - '. __('Image is too large, 3000 x 3000 is the maximum size allowed.', 'powerprss') );
|
206 |
}
|
207 |
else
|
208 |
{
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: amandato, blubrry
|
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, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, podlove, podcast.de
|
4 |
Requires at least: 3.6
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 6.0.
|
7 |
Donate link: http://create.blubrry.com/
|
8 |
License: GPLv2 or later
|
9 |
|
@@ -201,6 +201,16 @@ To install Blubrry PowerPress manually, follow these steps:
|
|
201 |
* We are looking for beta testers! If you would like to beta test future versions of PowerPress, please [contact us](http://www.blubrry.com/contact.php) with your name and email.
|
202 |
|
203 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
= 6.0.2 =
|
205 |
* Released on 3/21/2015
|
206 |
* Fixed bug where specific global podcast settings are not applied when podcast channel settings iTunes new feed URL or feed maximizer option were configured then deleted afterward. This only effected settings if you deleted the default podcast feed.
|
2 |
Contributors: amandato, blubrry
|
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, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, podlove, podcast.de
|
4 |
Requires at least: 3.6
|
5 |
+
Tested up to: 4.2.2
|
6 |
+
Stable tag: 6.0.3
|
7 |
Donate link: http://create.blubrry.com/
|
8 |
License: GPLv2 or later
|
9 |
|
201 |
* We are looking for beta testers! If you would like to beta test future versions of PowerPress, please [contact us](http://www.blubrry.com/contact.php) with your name and email.
|
202 |
|
203 |
|
204 |
+
= 6.0.3 =
|
205 |
+
* Released on 5/7/2015
|
206 |
+
* Added define option `POWERPRESS_DEFAULT_MEDIA_URL` to enable the default media URL field.
|
207 |
+
* Fixed notice messages being printed when populating category podcasting settings (thanks slapdashcast for bringing to our attention)
|
208 |
+
* iTunes image requirements updated, 3000x3000 is now the maximum (previously 2048x2048) for iTunes artwork. 1400x1400 is still the recommended size.
|
209 |
+
* Added [Subscribe on Android](http://subscribeonandroid.com/), the one-click subscribe protocol for Android. There are currently 6 Android apps that support Subscribe on Android one-click with more to follow in the coming weeks.
|
210 |
+
* PowerPress Playlist Player SQLi injection vulnerability fixed (Thanks Ben Bidner, Security Wrangler @ Automattic.com!)
|
211 |
+
* Subscribe tools now use the esc_attr, esc_url and esc_html native WordPress functions (rather than htmlspecialchars).
|
212 |
+
|
213 |
+
|
214 |
= 6.0.2 =
|
215 |
* Released on 3/21/2015
|
216 |
* Fixed bug where specific global podcast settings are not applied when podcast channel settings iTunes new feed URL or feed maximizer option were configured then deleted afterward. This only effected settings if you deleted the default podcast feed.
|