Version Description
- Released on 6/12/2019
- Updated labels for Subscribe buttons and links in admin.
- Note: Apple has announced the end of life for iTunes desktop (except for Windows). PowerPress will be removing iTunes desktop specific features where they conflict with the Apple Podcasts iOS app.
- Enhanced iTunes summary updated, optimized for latest iOS podcasts app. It is now designed for Apple Podcasts iOS app rather than for iTunes desktop. (Thanks Robin for your assistance!)
- Force feed discovery on homepage only to use default podcast feed for Google Search.
- Fixed bug with deleting media files hosted on Blubrry Podcast hosting.
- Fixed bug with posts with revisions being part of the total number of episodes when viewing podcast feeds in PowerPress settings.
- Fixed bug with skipto position time not getting included in feed show notes. (Thanks @tszt for bringing to our attention!)
Download this release
Release Info
Developer | amandato |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 7.4.3 |
Comparing to | |
See all releases |
Code changes from version 7.4.2 to 7.4.3
- feed-podcast.php +20 -4
- powerpress.php +95 -19
- powerpressadmin-basic.php +1 -8
- powerpressadmin-jquery.php +16 -15
- powerpressadmin-pts.php +182 -41
- powerpressadmin.php +1 -1
- readme.txt +13 -2
feed-podcast.php
CHANGED
@@ -16,13 +16,24 @@
|
|
16 |
|
17 |
global $post;
|
18 |
$content = $post->post_content;
|
|
|
|
|
19 |
$content = wptexturize($content);
|
20 |
-
$content = convert_smilies($content);
|
21 |
$content = wpautop($content);
|
22 |
-
$content = shortcode_unautop($content);
|
23 |
$content = prepend_attachment($content);
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
$content = capital_P_dangit($content);
|
|
|
|
|
|
|
26 |
$content = strip_shortcodes( $content );
|
27 |
$content = str_replace(']]>', ']]>', $content);
|
28 |
|
@@ -50,7 +61,12 @@
|
|
50 |
}
|
51 |
$output = strip_tags($post->post_excerpt);
|
52 |
if ( $output == '') {
|
53 |
-
$output =
|
|
|
|
|
|
|
|
|
|
|
54 |
$output = str_replace(']]>', ']]>', $output);
|
55 |
$output = strip_tags($output);
|
56 |
}
|
16 |
|
17 |
global $post;
|
18 |
$content = $post->post_content;
|
19 |
+
if( function_exists('do_blocks') )
|
20 |
+
$content = do_blocks($content);
|
21 |
$content = wptexturize($content);
|
|
|
22 |
$content = wpautop($content);
|
23 |
+
$content = shortcode_unautop($content); // Why do we do this?
|
24 |
$content = prepend_attachment($content);
|
25 |
+
if( function_exists('wp_make_content_images_responsive') )
|
26 |
+
$content = wp_make_content_images_responsive($content);
|
27 |
+
|
28 |
+
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
29 |
+
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
30 |
+
$content = do_shortcode($content);
|
31 |
+
$GLOBALS['shortcode_tags'] = $shortcodesTemp;
|
32 |
+
|
33 |
$content = capital_P_dangit($content);
|
34 |
+
|
35 |
+
$content = convert_smilies($content);
|
36 |
+
|
37 |
$content = strip_shortcodes( $content );
|
38 |
$content = str_replace(']]>', ']]>', $content);
|
39 |
|
61 |
}
|
62 |
$output = strip_tags($post->post_excerpt);
|
63 |
if ( $output == '') {
|
64 |
+
$output = $post->post_content;
|
65 |
+
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
66 |
+
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
67 |
+
$output = do_shortcode($output);
|
68 |
+
$GLOBALS['shortcode_tags'] = $shortcodesTemp;
|
69 |
+
$output = strip_shortcodes( $output );
|
70 |
$output = str_replace(']]>', ']]>', $output);
|
71 |
$output = strip_tags($output);
|
72 |
}
|
powerpress.php
CHANGED
@@ -3,11 +3,11 @@
|
|
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> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
-
Version: 7.4.
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Requires at least: 3.6
|
10 |
-
Tested up to: 5.
|
11 |
Text Domain: powerpress
|
12 |
Change Log:
|
13 |
Please see readme.txt for detailed change log.
|
@@ -35,7 +35,7 @@ if( !function_exists('add_action') ) {
|
|
35 |
}
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
-
define('POWERPRESS_VERSION', '7.4.
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
@@ -419,16 +419,45 @@ function powerpress_pinw(pinw_url){window.open(pinw_url, 'PowerPressPlayer','too
|
|
419 |
|
420 |
if( !empty($Powerpress['feed_links']) )
|
421 |
{
|
422 |
-
|
423 |
-
|
424 |
-
{
|
425 |
$href = get_feed_link($feed_slug);
|
426 |
-
|
427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
}
|
429 |
-
reset($Powerpress['custom_feeds']);
|
430 |
-
|
431 |
-
// TODO: Add logic to add category, post type and taxonomy feeds as well
|
432 |
}
|
433 |
}
|
434 |
|
@@ -528,9 +557,17 @@ function powerpress_rss2_head()
|
|
528 |
{
|
529 |
if( is_category() )
|
530 |
$Feed['url'] = get_category_link($cat_ID);
|
531 |
-
else
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
$Feed['url'] = get_bloginfo('url');
|
533 |
}
|
|
|
534 |
|
535 |
$General = get_option('powerpress_general');
|
536 |
|
@@ -1111,10 +1148,24 @@ function powerpress_bloginfo_rss($content, $field = '')
|
|
1111 |
}
|
1112 |
}; break;
|
1113 |
case 'url': {
|
|
|
1114 |
if( !empty($Feed['url']) )
|
1115 |
return trim($Feed['url']);
|
1116 |
-
|
|
|
1117 |
return get_category_link( get_query_var('cat') );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1118 |
}; break;
|
1119 |
case 'name': { // As of wp 4.4+ title is handled by get_the_title_rss completely.
|
1120 |
if( !empty($Feed['title']) )
|
@@ -1566,6 +1617,9 @@ function powerpress_init()
|
|
1566 |
//add_filter( 'get_wp_title_rss', 'wp_encode_emoji' );
|
1567 |
}
|
1568 |
}
|
|
|
|
|
|
|
1569 |
}
|
1570 |
|
1571 |
add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
|
@@ -2564,7 +2618,14 @@ function powerpress_get_the_exerpt($for_summary = false, $no_filters = false, $p
|
|
2564 |
$post = get_post($post_id);
|
2565 |
$subtitle = $post->post_excerpt;
|
2566 |
if ( $subtitle == '') {
|
2567 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2568 |
$subtitle = str_replace(']]>', ']]>', $subtitle);
|
2569 |
$subtitle = strip_tags($subtitle);
|
2570 |
}
|
@@ -2573,7 +2634,15 @@ function powerpress_get_the_exerpt($for_summary = false, $no_filters = false, $p
|
|
2573 |
{
|
2574 |
$subtitle = $GLOBALS['post']->post_excerpt;
|
2575 |
if ( $subtitle == '') {
|
2576 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2577 |
$subtitle = str_replace(']]>', ']]>', $subtitle);
|
2578 |
$subtitle = strip_tags($subtitle);
|
2579 |
}
|
@@ -2592,18 +2661,25 @@ function powerpress_get_the_content($for_summary = true, $no_filters = false, $n
|
|
2592 |
if( $no_filters ) {
|
2593 |
global $post;
|
2594 |
$content_no_html = $post->post_content;
|
2595 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2596 |
$content_no_html = str_replace(']]>', ']]>', $content_no_html);
|
2597 |
$content_no_html = wp_staticize_emoji( _oembed_filter_feed_content( $content_no_html ) );
|
2598 |
} else {
|
2599 |
$content_no_html = get_the_content();
|
2600 |
}
|
|
|
2601 |
$content_no_html = strip_shortcodes( $content_no_html );
|
2602 |
if( $no_strip_tags )
|
2603 |
return $content_no_html;
|
2604 |
|
2605 |
if( $for_summary ) {
|
2606 |
-
return trim( strip_tags($content_no_html, '<a><p><br>') );
|
2607 |
}
|
2608 |
return trim( strip_tags($content_no_html) );
|
2609 |
}
|
@@ -2615,8 +2691,8 @@ function powerpress_enhanced_itunes_summary($no_filters = false)
|
|
2615 |
} else {
|
2616 |
$summary = apply_filters( 'the_content', powerpress_get_the_content(false, $no_filters, true) );
|
2617 |
}
|
2618 |
-
$summary = str_replace("<li>", '<li>* ', $summary);
|
2619 |
-
$summary = strip_tags($summary, '<a
|
2620 |
return $summary;
|
2621 |
}
|
2622 |
|
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> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
+
Version: 7.4.3
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Requires at least: 3.6
|
10 |
+
Tested up to: 5.2.2
|
11 |
Text Domain: powerpress
|
12 |
Change Log:
|
13 |
Please see readme.txt for detailed change log.
|
35 |
}
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
+
define('POWERPRESS_VERSION', '7.4.3' );
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
419 |
|
420 |
if( !empty($Powerpress['feed_links']) )
|
421 |
{
|
422 |
+
if( is_home() ) {
|
423 |
+
$feed_slug = 'podcast';
|
|
|
424 |
$href = get_feed_link($feed_slug);
|
425 |
+
// Podcast default and channel feed settings
|
426 |
+
$Settings = get_option('powerpress_feed_'. $feed_slug);
|
427 |
+
|
428 |
+
if( empty($Settings) && $feed_slug == 'podcast' )
|
429 |
+
$Settings = get_option('powerpress_feed'); // Get the main feed settings
|
430 |
+
|
431 |
+
if( empty($Settings['title']) )
|
432 |
+
$Settings['title'] = get_bloginfo_rss('name'); // Get blog title
|
433 |
+
|
434 |
+
// Get the default podcast feed...
|
435 |
+
echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( $Settings['title'] ) . '" href="' . esc_url( $href ) . '" />' . "\n";
|
436 |
+
} else if( is_category() ) {
|
437 |
+
|
438 |
+
$category_id = get_query_var('cat');
|
439 |
+
if( $category_id ) {
|
440 |
+
$Settings = get_option('powerpress_cat_feed_'.$category_id );
|
441 |
+
if( empty($Settings['title']) ) {
|
442 |
+
$Settings['title'] = get_cat_name( $category_id ); // Get category title
|
443 |
+
$Settings['title'] .= ' '. apply_filters( 'document_title_separator', '-' ) .' ';
|
444 |
+
$Settings['title'] .= get_bloginfo_rss('name');
|
445 |
+
}
|
446 |
+
if( empty($Settings['title']) ) {
|
447 |
+
$Settings['title'] = get_bloginfo_rss('name'); // Get blog title, best we can do
|
448 |
+
}
|
449 |
+
|
450 |
+
if( !empty($Settings['feed_redirect_url']) )
|
451 |
+
$Settings['feed_url'] = $Settings['feed_redirect_url'];
|
452 |
+
else if( !empty($General['cat_casting_podcast_feeds']) )
|
453 |
+
$Settings['feed_url'] = get_category_feed_link($category_id, 'podcast');
|
454 |
+
else
|
455 |
+
$Settings['feed_url'] = get_category_feed_link( $category_id ); // Get category feed URL
|
456 |
+
|
457 |
+
// Get the category podcast feed...
|
458 |
+
echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( $Settings['title'] ) . '" href="' . esc_url( $Settings['feed_url'] ) . '" />' . "\n";
|
459 |
+
}
|
460 |
}
|
|
|
|
|
|
|
461 |
}
|
462 |
}
|
463 |
|
557 |
{
|
558 |
if( is_category() )
|
559 |
$Feed['url'] = get_category_link($cat_ID);
|
560 |
+
else {
|
561 |
+
|
562 |
+
$blogHomepage = get_option('page_for_posts');
|
563 |
+
if( !empty($blogHomepage) ) {
|
564 |
+
$Feed['url'] = get_permalink( $blogHomepage );
|
565 |
+
}
|
566 |
+
|
567 |
+
if( empty($Feed['url']) )
|
568 |
$Feed['url'] = get_bloginfo('url');
|
569 |
}
|
570 |
+
}
|
571 |
|
572 |
$General = get_option('powerpress_general');
|
573 |
|
1148 |
}
|
1149 |
}; break;
|
1150 |
case 'url': {
|
1151 |
+
// If the website URL is set for this podcast then lets use it...
|
1152 |
if( !empty($Feed['url']) )
|
1153 |
return trim($Feed['url']);
|
1154 |
+
|
1155 |
+
if( is_category() ) {
|
1156 |
return get_category_link( get_query_var('cat') );
|
1157 |
+
} else {
|
1158 |
+
$urlTemp = '';
|
1159 |
+
$blogHomepage = get_option('page_for_posts');
|
1160 |
+
if( !empty($blogHomepage) ) {
|
1161 |
+
$urlTemp = get_permalink( $blogHomepage );
|
1162 |
+
}
|
1163 |
+
|
1164 |
+
if( empty($urlTemp) )
|
1165 |
+
$urlTemp = get_bloginfo('url');
|
1166 |
+
if( !empty($urlTemp) )
|
1167 |
+
return $urlTemp;
|
1168 |
+
}
|
1169 |
}; break;
|
1170 |
case 'name': { // As of wp 4.4+ title is handled by get_the_title_rss completely.
|
1171 |
if( !empty($Feed['title']) )
|
1617 |
//add_filter( 'get_wp_title_rss', 'wp_encode_emoji' );
|
1618 |
}
|
1619 |
}
|
1620 |
+
|
1621 |
+
remove_action( 'wp_head', 'feed_links', 2 );
|
1622 |
+
remove_action( 'wp_head', 'feed_links_extra', 3 );
|
1623 |
}
|
1624 |
|
1625 |
add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
|
2618 |
$post = get_post($post_id);
|
2619 |
$subtitle = $post->post_excerpt;
|
2620 |
if ( $subtitle == '') {
|
2621 |
+
|
2622 |
+
$subtitle = $post->post_content;
|
2623 |
+
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
2624 |
+
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
2625 |
+
$subtitle = do_shortcode($subtitle);
|
2626 |
+
$GLOBALS['shortcode_tags'] = $shortcodesTemp;
|
2627 |
+
|
2628 |
+
$subtitle = strip_shortcodes( $subtitle );
|
2629 |
$subtitle = str_replace(']]>', ']]>', $subtitle);
|
2630 |
$subtitle = strip_tags($subtitle);
|
2631 |
}
|
2634 |
{
|
2635 |
$subtitle = $GLOBALS['post']->post_excerpt;
|
2636 |
if ( $subtitle == '') {
|
2637 |
+
|
2638 |
+
$subtitle = $GLOBALS['post']->post_content;
|
2639 |
+
|
2640 |
+
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
2641 |
+
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
2642 |
+
$subtitle = do_shortcode($subtitle);
|
2643 |
+
$GLOBALS['shortcode_tags'] = $shortcodesTemp;
|
2644 |
+
|
2645 |
+
$subtitle = strip_shortcodes( $subtitle );
|
2646 |
$subtitle = str_replace(']]>', ']]>', $subtitle);
|
2647 |
$subtitle = strip_tags($subtitle);
|
2648 |
}
|
2661 |
if( $no_filters ) {
|
2662 |
global $post;
|
2663 |
$content_no_html = $post->post_content;
|
2664 |
+
|
2665 |
+
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
2666 |
+
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
2667 |
+
$content_no_html = do_shortcode($content_no_html);
|
2668 |
+
$GLOBALS['shortcode_tags'] = $shortcodesTemp;
|
2669 |
+
|
2670 |
+
//$content_no_html = strip_shortcodes( $content_no_html );
|
2671 |
$content_no_html = str_replace(']]>', ']]>', $content_no_html);
|
2672 |
$content_no_html = wp_staticize_emoji( _oembed_filter_feed_content( $content_no_html ) );
|
2673 |
} else {
|
2674 |
$content_no_html = get_the_content();
|
2675 |
}
|
2676 |
+
|
2677 |
$content_no_html = strip_shortcodes( $content_no_html );
|
2678 |
if( $no_strip_tags )
|
2679 |
return $content_no_html;
|
2680 |
|
2681 |
if( $for_summary ) {
|
2682 |
+
return trim( strip_tags($content_no_html, '<a><p><br><ul><li>') );
|
2683 |
}
|
2684 |
return trim( strip_tags($content_no_html) );
|
2685 |
}
|
2691 |
} else {
|
2692 |
$summary = apply_filters( 'the_content', powerpress_get_the_content(false, $no_filters, true) );
|
2693 |
}
|
2694 |
+
$summary = str_replace("<li>", '<li>* ', $summary); // Make sure our bullet lists stay nicely formatted.
|
2695 |
+
$summary = strip_tags($summary, '<a>'); // We can leave a tags for itunes:summary, this will also strip CDATA tags
|
2696 |
return $summary;
|
2697 |
}
|
2698 |
|
powerpressadmin-basic.php
CHANGED
@@ -1291,27 +1291,20 @@ function powerpressadmin_appearance($General=false, $Feed = false)
|
|
1291 |
</li>
|
1292 |
</ul>
|
1293 |
|
1294 |
-
<p style="padding-top:10px;"><input type="checkbox" name="NULL[subscribe_feature_itunes]" value="1" checked disabled /> <label><?php echo __('Subscribe on
|
1295 |
<div style="margin-left: 24px;">
|
1296 |
-
<p><?php echo __('Link to your one click iTunes Subscription URL.', 'powerpress'); ?></p>
|
1297 |
-
|
1298 |
<p><a href="<?php echo 'https://linkmaker.itunes.apple.com/?q='.urlencode( get_bloginfo('name') ); ?>&media=podcasts" target="_blank"><?php echo __('Find your iTunes Subscription URL', 'powerpress'); ?></a></p>
|
1299 |
</div>
|
1300 |
|
1301 |
<p><input type="checkbox" name="NULL[subscribe_feature_android]" value="1" checked disabled /> <label><?php echo __('Subscribe on Android', 'powerpress'); ?></label></p>
|
1302 |
<div style="margin-left: 24px;">
|
1303 |
-
<p><?php echo __('Link to your one click Subscribe on Android URL.', 'powerpress'); ?></p>
|
1304 |
<p><a href="http://subscribeonandroid.com/podcasters/" target="_blank"><?php echo __('Learn more about Subscribe on Android', 'powerpress'); ?></a></p>
|
1305 |
</div>
|
1306 |
|
1307 |
<p><input type="hidden" name="General[subscribe_feature_rss]" value="0" /><input type="checkbox" name="General[subscribe_feature_rss]" value="1" id="subscribe_feature_rss" <?php if( !empty($General['subscribe_feature_rss']) || !isset($General['subscribe_feature_rss']) ) echo 'checked '; ?>/> <label for="subscribe_feature_rss"><?php echo __('Subscribe via RSS', 'powerpress'); ?></label></p>
|
1308 |
-
<div style="margin-left: 24px;">
|
1309 |
-
<p><?php echo __('Link to your podcast RSS feed.', 'powerpress'); ?></p>
|
1310 |
-
</div>
|
1311 |
|
1312 |
<p><input type="checkbox" id="subscribe_feature_email" name="General[subscribe_feature_email]" value="1" <?php if( !empty($General['subscribe_feature_email']) ) echo 'checked '; ?>/> <label for="subscribe_feature_email"><?php echo __('Subscribe By Email', 'powerpress'); ?></label> </p>
|
1313 |
<div style="margin-left: 24px;">
|
1314 |
-
<p><?php echo __('Link to your one click Subscribe by Email URL.', 'powerpress'); ?></p>
|
1315 |
<p>
|
1316 |
<?php echo __('Subscribe By Email is a service that allows listeners to subscribe to their favorite podcasts by email.', 'powerpress'); ?>
|
1317 |
</p>
|
1291 |
</li>
|
1292 |
</ul>
|
1293 |
|
1294 |
+
<p style="padding-top:10px;"><input type="checkbox" name="NULL[subscribe_feature_itunes]" value="1" checked disabled /> <label><?php echo __('Subscribe on Apple Podcasts', 'powerpress'); ?></label></p>
|
1295 |
<div style="margin-left: 24px;">
|
|
|
|
|
1296 |
<p><a href="<?php echo 'https://linkmaker.itunes.apple.com/?q='.urlencode( get_bloginfo('name') ); ?>&media=podcasts" target="_blank"><?php echo __('Find your iTunes Subscription URL', 'powerpress'); ?></a></p>
|
1297 |
</div>
|
1298 |
|
1299 |
<p><input type="checkbox" name="NULL[subscribe_feature_android]" value="1" checked disabled /> <label><?php echo __('Subscribe on Android', 'powerpress'); ?></label></p>
|
1300 |
<div style="margin-left: 24px;">
|
|
|
1301 |
<p><a href="http://subscribeonandroid.com/podcasters/" target="_blank"><?php echo __('Learn more about Subscribe on Android', 'powerpress'); ?></a></p>
|
1302 |
</div>
|
1303 |
|
1304 |
<p><input type="hidden" name="General[subscribe_feature_rss]" value="0" /><input type="checkbox" name="General[subscribe_feature_rss]" value="1" id="subscribe_feature_rss" <?php if( !empty($General['subscribe_feature_rss']) || !isset($General['subscribe_feature_rss']) ) echo 'checked '; ?>/> <label for="subscribe_feature_rss"><?php echo __('Subscribe via RSS', 'powerpress'); ?></label></p>
|
|
|
|
|
|
|
1305 |
|
1306 |
<p><input type="checkbox" id="subscribe_feature_email" name="General[subscribe_feature_email]" value="1" <?php if( !empty($General['subscribe_feature_email']) ) echo 'checked '; ?>/> <label for="subscribe_feature_email"><?php echo __('Subscribe By Email', 'powerpress'); ?></label> </p>
|
1307 |
<div style="margin-left: 24px;">
|
|
|
1308 |
<p>
|
1309 |
<?php echo __('Subscribe By Email is a service that allows listeners to subscribe to their favorite podcasts by email.', 'powerpress'); ?>
|
1310 |
</p>
|
powerpressadmin-jquery.php
CHANGED
@@ -116,21 +116,6 @@ function powerpress_admin_jquery_init()
|
|
116 |
powerpress_admin_jquery_footer();
|
117 |
exit;
|
118 |
|
119 |
-
}; // No break here, let this fall thru..
|
120 |
-
case 'powerpress-jquery-media-delete': {
|
121 |
-
|
122 |
-
if( !current_user_can('edit_posts') )
|
123 |
-
{
|
124 |
-
powerpress_admin_jquery_header('Uploader');
|
125 |
-
powerpress_page_message_add_notice( __('You do not have sufficient permission to upload media.', 'powerpress') );
|
126 |
-
powerpress_page_message_print();
|
127 |
-
powerpress_admin_jquery_footer();
|
128 |
-
exit;
|
129 |
-
}
|
130 |
-
|
131 |
-
check_admin_referer('powerpress-jquery-media-delete');
|
132 |
-
$DeleteFile = $_GET['delete'];
|
133 |
-
|
134 |
}; // No break here, let this fall thru..
|
135 |
|
136 |
case 'powerpress-jquery-hosting': {
|
@@ -151,6 +136,22 @@ function powerpress_admin_jquery_init()
|
|
151 |
|
152 |
}; break;
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
case 'powerpress-jquery-media': {
|
155 |
|
156 |
if( !current_user_can('edit_posts') )
|
116 |
powerpress_admin_jquery_footer();
|
117 |
exit;
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}; // No break here, let this fall thru..
|
120 |
|
121 |
case 'powerpress-jquery-hosting': {
|
136 |
|
137 |
}; break;
|
138 |
|
139 |
+
case 'powerpress-jquery-media-delete': {
|
140 |
+
|
141 |
+
if( !current_user_can('edit_posts') )
|
142 |
+
{
|
143 |
+
powerpress_admin_jquery_header('Uploader');
|
144 |
+
powerpress_page_message_add_notice( __('You do not have sufficient permission to upload media.', 'powerpress') );
|
145 |
+
powerpress_page_message_print();
|
146 |
+
powerpress_admin_jquery_footer();
|
147 |
+
exit;
|
148 |
+
}
|
149 |
+
|
150 |
+
check_admin_referer('powerpress-jquery-media-delete');
|
151 |
+
$DeleteFile = $_GET['delete'];
|
152 |
+
|
153 |
+
}; // No break here, let this fall thru..
|
154 |
+
|
155 |
case 'powerpress-jquery-media': {
|
156 |
|
157 |
if( !current_user_can('edit_posts') )
|
powerpressadmin-pts.php
CHANGED
@@ -2,6 +2,17 @@
|
|
2 |
/**
|
3 |
* Class PowerPressPostToSocial
|
4 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
class PowerPressPostToSocial {
|
6 |
// member variables
|
7 |
|
@@ -151,7 +162,6 @@ function callUpdateListing( $post_id, $program_keyword, $guid ) {
|
|
151 |
foreach ( $api_url_array as $api_url ) {
|
152 |
$response = powerpress_remote_fopen( "{$api_url}social/{$program_keyword}/update-listing.json", $Settings['blubrry_auth'], json_encode( $post_params ) );
|
153 |
|
154 |
-
//mail('cio@rawvoice.com', 'update listing response', $response);
|
155 |
if ( $response ) {
|
156 |
break;
|
157 |
}
|
@@ -173,7 +183,7 @@ function callUpdateListing( $post_id, $program_keyword, $guid ) {
|
|
173 |
* @param string $program_keyword
|
174 |
* @return array|mixed|object|string
|
175 |
*/
|
176 |
-
function callGetSocialOptions( $program_keyword ) {
|
177 |
$Settings = get_option( 'powerpress_general' );
|
178 |
|
179 |
$api_url_array = powerpress_get_api_array();
|
@@ -272,9 +282,56 @@ function generate_radio( $label, $name, $value, $checked='' ) {
|
|
272 |
return $checkbox;
|
273 |
}
|
274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
function powerpress_ajax_pts($Settings)
|
276 |
{
|
277 |
-
//$Settings = powerpress_get_settings('powerpress_general');
|
278 |
powerpress_admin_jquery_header( __( 'Post to Social', 'powerpress' ) );
|
279 |
|
280 |
if ( !current_user_can('publish_posts' ) ) {
|
@@ -313,7 +370,7 @@ function powerpress_ajax_pts($Settings)
|
|
313 |
if ( !is_array( $response ) ) { // an error occurred\
|
314 |
echo "<br /><br />";
|
315 |
echo $response;
|
316 |
-
|
317 |
exit;
|
318 |
}
|
319 |
|
@@ -338,7 +395,7 @@ function powerpress_ajax_pts($Settings)
|
|
338 |
add_post_meta( $post_id, 'podcast-id', $podcast_id, true );
|
339 |
|
340 |
// get the info necessary to create the post to social form using the `get-social-options` api call
|
341 |
-
$response = callGetSocialOptions( $program_keyword );
|
342 |
|
343 |
if ( !is_array( $response ) ) { // a cURL error occurred
|
344 |
echo $response;
|
@@ -361,47 +418,105 @@ function powerpress_ajax_pts($Settings)
|
|
361 |
//else
|
362 |
//var_dump($response);
|
363 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
<script>var linkel = document.createElement('link'); linkel.rel = 'stylesheet'; linkel.href = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'; document.head.appendChild(linkel);</script>
|
365 |
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
|
366 |
|
367 |
-
<form action="admin.php?action=powerpress-jquery-pts-post" method="POST">
|
368 |
<input type="hidden" name="podcast-id" value="<?php echo $podcast_id; ?>">
|
369 |
<input type="hidden" name="post-id" value="<?php echo $post_id; ?>">
|
370 |
<?php
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
?>
|
401 |
-
<
|
402 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
</form>
|
404 |
-
<p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __( 'Close', 'powerpress' ); ?></a></p>
|
405 |
<?php
|
406 |
powerpress_admin_jquery_footer();
|
407 |
}
|
@@ -410,7 +525,7 @@ function powerpress_ajax_pts_post($Settings)
|
|
410 |
{
|
411 |
powerpress_admin_jquery_header( __( 'Post to Social', 'powerpress' ) );
|
412 |
|
413 |
-
//$Settings =
|
414 |
|
415 |
$api_url_array = powerpress_get_api_array();
|
416 |
|
@@ -423,7 +538,7 @@ function powerpress_ajax_pts_post($Settings)
|
|
423 |
|
424 |
$post_data = array();
|
425 |
|
426 |
-
|
427 |
if ( $value ) { // we don't allow empty messages to be posted to social media
|
428 |
|
429 |
preg_match("/-(\d+)-?/", $key, $matches);
|
@@ -447,9 +562,35 @@ function powerpress_ajax_pts_post($Settings)
|
|
447 |
|
448 |
$post_data[ $social_id ]['social-data'][ $field_name ] = $value;
|
449 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
}
|
451 |
|
452 |
-
|
|
|
453 |
|
454 |
foreach ( $api_url_array as $api_url ) {
|
455 |
$response = powerpress_remote_fopen( "{$api_url}social/{$program_keyword}/post.json", $Settings['blubrry_auth'], json_encode( $post_params ) );
|
2 |
/**
|
3 |
* Class PowerPressPostToSocial
|
4 |
*/
|
5 |
+
|
6 |
+
define('POWERPRESS_POSTED_STATUS_NOT_POSTED_YET', 0);
|
7 |
+
define('POWERPRESS_POSTED_STATUS_SUCCESS', 1);
|
8 |
+
define('POWERPRESS_POSTED_STATUS_FAILED', 2);
|
9 |
+
define('POWERPRESS_POSTED_STATUS_INVALID_CREDENTIALS', 3);
|
10 |
+
define('POWERPRESS_POSTED_STATUS_NO_CREDENTIALS', 4);
|
11 |
+
define('POWERPRESS_POSTED_STATUS_NOT_AUDIO', 5);
|
12 |
+
define('POWERPRESS_POSTED_STATUS_CONVERSION_FAILED', 6);
|
13 |
+
define('POWERPRESS_POSTED_STATUS_PROGRAM_ID_NOT_MATCHED', 7);
|
14 |
+
define('POWERPRESS_POSTED_STATUS_NOT_SCHEDULED', 8);
|
15 |
+
|
16 |
class PowerPressPostToSocial {
|
17 |
// member variables
|
18 |
|
162 |
foreach ( $api_url_array as $api_url ) {
|
163 |
$response = powerpress_remote_fopen( "{$api_url}social/{$program_keyword}/update-listing.json", $Settings['blubrry_auth'], json_encode( $post_params ) );
|
164 |
|
|
|
165 |
if ( $response ) {
|
166 |
break;
|
167 |
}
|
183 |
* @param string $program_keyword
|
184 |
* @return array|mixed|object|string
|
185 |
*/
|
186 |
+
function callGetSocialOptions( $program_keyword, $podcast_id ) {
|
187 |
$Settings = get_option( 'powerpress_general' );
|
188 |
|
189 |
$api_url_array = powerpress_get_api_array();
|
282 |
return $checkbox;
|
283 |
}
|
284 |
|
285 |
+
function displayStatus($isPostedArray)
|
286 |
+
{
|
287 |
+
$tempStatusArray = $isPostedArray;
|
288 |
+
|
289 |
+
if (sizeof($tempStatusArray) > 1){
|
290 |
+
if (end($tempStatusArray) == 0){
|
291 |
+
$tempStatusArray = array($tempStatusArray[0], end($tempStatusArray));
|
292 |
+
}
|
293 |
+
else {
|
294 |
+
$tempStatusArray = array($tempStatusArray[0]);
|
295 |
+
}
|
296 |
+
}
|
297 |
+
foreach($tempStatusArray as $isPosted){
|
298 |
+
|
299 |
+
if ($isPosted == POWERPRESS_POSTED_STATUS_SUCCESS) { ?>
|
300 |
+
<span class="label label-success">Posted!</span>
|
301 |
+
<?php return;
|
302 |
+
|
303 |
+
} else if ($isPosted == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) { ?>
|
304 |
+
<script>post_scheduled_notification.style.display = "block";</script>
|
305 |
+
|
306 |
+
<?php if (sizeof($isPostedArray) > 1) {?>
|
307 |
+
<span class="label label-primary"> Post Rescheduled</span>
|
308 |
+
|
309 |
+
<?php } else { ?>
|
310 |
+
<span class="label label-primary"> Post Scheduled</span>
|
311 |
+
<?php } return;
|
312 |
+
|
313 |
+
} else if ($isPosted == POWERPRESS_POSTED_STATUS_NOT_SCHEDULED) { ?>
|
314 |
+
|
315 |
+
<?php } else if ($isPosted == POWERPRESS_POSTED_STATUS_CONVERSION_FAILED) { ?>
|
316 |
+
<span class="label label-danger">Error occurred: Video creation failed</span>
|
317 |
+
|
318 |
+
<?php } else if($isPosted == POWERPRESS_POSTED_STATUS_NOT_AUDIO) { ?>
|
319 |
+
<span class="label label-danger">Error occurred: Mp3 file required for posting to Youtube</span>
|
320 |
+
|
321 |
+
<?php } else if ($isPosted == POWERPRESS_POSTED_STATUS_INVALID_CREDENTIALS || $isPosted == POWERPRESS_POSTED_STATUS_NO_CREDENTIALS) { ?>
|
322 |
+
<span class="label label-danger">Error occurred: Please re-link your account</span>
|
323 |
+
|
324 |
+
<?php } else if ($isPosted > POWERPRESS_POSTED_STATUS_SUCCESS) { ?>
|
325 |
+
<span class="label label-danger">Error occurred</span>
|
326 |
+
|
327 |
+
<?php
|
328 |
+
}
|
329 |
+
}
|
330 |
+
|
331 |
+
}
|
332 |
+
|
333 |
function powerpress_ajax_pts($Settings)
|
334 |
{
|
|
|
335 |
powerpress_admin_jquery_header( __( 'Post to Social', 'powerpress' ) );
|
336 |
|
337 |
if ( !current_user_can('publish_posts' ) ) {
|
370 |
if ( !is_array( $response ) ) { // an error occurred\
|
371 |
echo "<br /><br />";
|
372 |
echo $response;
|
373 |
+
|
374 |
exit;
|
375 |
}
|
376 |
|
395 |
add_post_meta( $post_id, 'podcast-id', $podcast_id, true );
|
396 |
|
397 |
// get the info necessary to create the post to social form using the `get-social-options` api call
|
398 |
+
$response = callGetSocialOptions( $program_keyword, $podcast_id );
|
399 |
|
400 |
if ( !is_array( $response ) ) { // a cURL error occurred
|
401 |
echo $response;
|
418 |
//else
|
419 |
//var_dump($response);
|
420 |
?>
|
421 |
+
|
422 |
+
<script language=JavaScript>
|
423 |
+
|
424 |
+
function check_length(pts_form)
|
425 |
+
{
|
426 |
+
maxLen = 280 - (pts_form.twitter_link.value.length+1); // max number of characters allowed
|
427 |
+
if (pts_form.twitter_content.value.length > maxLen) {
|
428 |
+
var msg = "You have reached your maximum limit of characters allowed";
|
429 |
+
alert(msg);
|
430 |
+
pts_form.twitter_content.value = pts_form.twitter_content.value.substring(0, maxLen);
|
431 |
+
|
432 |
+
} else {
|
433 |
+
|
434 |
+
document.getElementById('text_length').innerHTML = maxLen - pts_form.twitter_content.value.length;
|
435 |
+
}
|
436 |
+
}
|
437 |
+
|
438 |
+
</script>
|
439 |
+
|
440 |
<script>var linkel = document.createElement('link'); linkel.rel = 'stylesheet'; linkel.href = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'; document.head.appendChild(linkel);</script>
|
441 |
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
|
442 |
|
443 |
+
<form action="admin.php?action=powerpress-jquery-pts-post" method="POST" id="pts_form" name="pts_form">
|
444 |
<input type="hidden" name="podcast-id" value="<?php echo $podcast_id; ?>">
|
445 |
<input type="hidden" name="post-id" value="<?php echo $post_id; ?>">
|
446 |
<?php
|
447 |
+
|
448 |
+
if (!empty($response['accounts']['Twitter'])){
|
449 |
+
echo '<h2>' ."<img src='{$response['settings']['twitter_image']}'>" ." Twitter" .'</h2>'; ?>
|
450 |
+
|
451 |
+
<label>Check the accounts where you want this episode to be posted</label> <br> <?php
|
452 |
+
foreach ($response['accounts']['Twitter'] as $meta_id => $account){
|
453 |
+
$isPostedToTwitter = $account['status']; ?>
|
454 |
+
<label class="checkbox-inline"><input type="checkbox" name="twitter_meta[]"
|
455 |
+
value="<?php echo $meta_id ?>" <?php echo ($isPostedToTwitter[0] < POWERPRESS_POSTED_STATUS_FAILED || $isPostedToTwitter[0] == POWERPRESS_POSTED_STATUS_NOT_SCHEDULED) ? 'checked' : '';?> <?php echo ($isPostedToTwitter[0] == POWERPRESS_POSTED_STATUS_SUCCESS) ? 'disabled' : '';?>> <?php echo "@" . $account['twitter_handle']?></label>
|
456 |
+
<?php displayStatus($isPostedToTwitter)?><br>
|
457 |
+
|
458 |
+
<?php } ?>
|
459 |
+
<br>
|
460 |
+
<input type="hidden" id="twitter_link" name="twitter_link" value="<?php echo $response['settings']['link'] ?>" />
|
461 |
+
<textarea onKeyUp=check_length(this.form); class="form-control" rows="2" name="twitter_content" id="twitter_content"
|
462 |
+
size="<?php echo 280 - (strlen($response['settings']['link'])); ?>" placeholder="What's happening?" <?php echo ($isPostedToTwitter[0] == POWERPRESS_POSTED_STATUS_SUCCESS || $isPostedToTwitter[0] == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) ? 'readonly' : '';?>
|
463 |
+
><?php echo (isset($response['accounts']['twitter_posted_array']['content']) ? $response['accounts']['twitter_posted_array']['content'] : '')?></textarea>
|
464 |
+
<b>Characters Left: </b><label id="text_length"> <?php echo 280 - (strlen($response['settings']['link'])); ?></label>
|
465 |
+
Player URL: <?php echo $response['settings']['link']; ?>
|
466 |
+
<?php }
|
467 |
+
|
468 |
+
if (!empty($response['accounts']['Youtube'])){
|
469 |
+
echo '<h2>' ."<img src='{$response['settings']['youtube_image']}'>" ." Youtube" .'</h2>'; ?>
|
470 |
+
|
471 |
+
<label>Check the accounts where you want this episode to be posted</label> <br> <?php
|
472 |
+
foreach ($response['accounts']['Youtube'] as $meta_id => $account){ ?>
|
473 |
+
<?php $isPostedToYoutube = $account['status']; ?>
|
474 |
+
<label class="checkbox-inline"><input type="checkbox" name="youtube_meta[]"
|
475 |
+
value="<?php echo $meta_id ?>" <?php echo ($isPostedToYoutube[0] < POWERPRESS_POSTED_STATUS_FAILED || $isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_NOT_SCHEDULED) ? 'checked' : '';?> <?php echo ($isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_SUCCESS) ? 'disabled' : '';?>> <?php echo "as " . $account['youtube_name']?></label>
|
476 |
+
<?php displayStatus($isPostedToYoutube); ?><br>
|
477 |
+
<?php } ?>
|
478 |
+
<br>
|
479 |
+
<label for="youtube_title">Video Title</label>
|
480 |
+
<textarea class="form-control" rows="1" id="youtube_title" name="youtube_title"
|
481 |
+
placeholder="Video title" <?php echo ($isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_SUCCESS || $isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) ? 'readonly' : '';?>><?php echo (isset($response['accounts']['youtube_posted_array']['youtube_title']) ? $response['accounts']['youtube_posted_array']['youtube_title'] : '')?></textarea>
|
482 |
+
<label for="youtube_description">Youtube description</label>
|
483 |
+
<textarea class="form-control" rows="3" id="youtube_description" name="youtube_description"
|
484 |
+
placeholder="Youtube description" <?php echo ($isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_SUCCESS || $isPostedToYoutube[0] == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) ? 'readonly' : '';?>><?php echo (isset($response['accounts']['youtube_posted_array']['youtube_description']) ? $response['accounts']['youtube_posted_array']['youtube_description'] : '')?></textarea>
|
485 |
+
<?php }
|
486 |
+
|
487 |
+
if (!empty($response['accounts']['Facebook'])){
|
488 |
+
echo '<h2>' ."<img src='{$response['settings']['facebook_image']}'>" ." Facebook" .'</h2>'; ?>
|
489 |
+
|
490 |
+
<label>Check the pages where you want this episode to be posted</label> <br> <?php
|
491 |
+
foreach ($response['accounts']['Facebook'] as $meta_id => $account){
|
492 |
+
foreach ($account['pages'] as $page){ ?>
|
493 |
+
<?php $isPostedToFacebook = $page['status']; ?>
|
494 |
+
<label class="checkbox-inline"><input type="checkbox" name="facebook_meta[<?php echo $meta_id ?>][]"
|
495 |
+
value="<?php echo $page['name'] ?>" <?php echo ($isPostedToFacebook[0] < POWERPRESS_POSTED_STATUS_FAILED || $isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_NOT_SCHEDULED) ? 'checked' : '';?> <?php echo ($isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_SUCCESS) ? 'disabled' : '';?>> <?php echo $page['name'] . " (as " . $account['social_name'] . ")"?></label>
|
496 |
+
<?php displayStatus($isPostedToFacebook); ?><br>
|
497 |
+
<?php }
|
498 |
+
} ?>
|
499 |
+
<br>
|
500 |
+
<label for="facebook_link">Link to Podcast</label>
|
501 |
+
<textarea class="form-control" rows="1" id="facebook_link" name="facebook_link"
|
502 |
+
placeholder="Link your podcast here" <?php echo ($isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_SUCCESS || $isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) ? 'readonly' : '';?>><?php echo (isset($response['accounts']['facebook_posted_array']['link_to_podcast']) ? $response['accounts']['facebook_posted_array']['link_to_podcast'] : $response['settings']['link']) ?></textarea>
|
503 |
+
<br>
|
504 |
+
<label for="facebook_description">Post to Facebook</label>
|
505 |
+
<textarea class="form-control" rows="3" id="facebook_description" name="facebook_description"
|
506 |
+
placeholder="What's on your mind?" <?php echo ($isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_SUCCESS || $isPostedToFacebook[0] == POWERPRESS_POSTED_STATUS_NOT_POSTED_YET) ? 'readonly' : '';?>><?php echo (isset($response['accounts']['facebook_posted_array']['facebook_description']) ? $response['accounts']['facebook_posted_array']['facebook_description'] : '')?></textarea>
|
507 |
+
|
508 |
+
<?php }
|
509 |
?>
|
510 |
+
<hr>
|
511 |
+
<small>Disclaimer: By hitting "Post to Selected Media Accounts" you are agreeing to allow Blubrry to post the
|
512 |
+
above content on the selected Social Media Accounts.
|
513 |
+
</small><br><br>
|
514 |
+
<input class="btn btn-sm btn-primary" name="do_update" type="submit"
|
515 |
+
value="Post To Selected social media accounts"
|
516 |
+
id="post_button" />
|
517 |
+
<a href="#" class="btn btn-sm btn-default"
|
518 |
+
onclick="self.parent.tb_remove();"><?php echo __( 'Cancel', 'powerpress' ); ?></a>
|
519 |
</form>
|
|
|
520 |
<?php
|
521 |
powerpress_admin_jquery_footer();
|
522 |
}
|
525 |
{
|
526 |
powerpress_admin_jquery_header( __( 'Post to Social', 'powerpress' ) );
|
527 |
|
528 |
+
//$Settings = get_option('powerpress_general');
|
529 |
|
530 |
$api_url_array = powerpress_get_api_array();
|
531 |
|
538 |
|
539 |
$post_data = array();
|
540 |
|
541 |
+
/*foreach ( $_POST as $key => $value ) {
|
542 |
if ( $value ) { // we don't allow empty messages to be posted to social media
|
543 |
|
544 |
preg_match("/-(\d+)-?/", $key, $matches);
|
562 |
|
563 |
$post_data[ $social_id ]['social-data'][ $field_name ] = $value;
|
564 |
}
|
565 |
+
|
566 |
+
}*/
|
567 |
+
|
568 |
+
if (!empty($_POST['twitter_content'])){
|
569 |
+
$post_data['twitter']['accounts'] = $_POST['twitter_meta'];
|
570 |
+
$post_data['twitter']['content'] = $_POST['twitter_content'];
|
571 |
+
$post_data['twitter']['link'] = $_POST['twitter_link'];
|
572 |
+
}
|
573 |
+
|
574 |
+
if (!empty($_POST['facebook_description'])){
|
575 |
+
$post_data['facebook']['accounts'] = $_POST['facebook_meta'];
|
576 |
+
$post_data['facebook']['description'] = $_POST['facebook_description'];
|
577 |
+
|
578 |
+
if (!empty($_POST['facebook_link'])){
|
579 |
+
$post_data['facebook']['link'] = $_POST['facebook_link'];
|
580 |
+
}
|
581 |
+
else {
|
582 |
+
$post_data['facebook']['link'] = $_POST['twitter_link'];
|
583 |
+
}
|
584 |
+
}
|
585 |
+
|
586 |
+
if (!empty($_POST['youtube_description'])){
|
587 |
+
$post_data['youtube']['accounts'] = $_POST['youtube_meta'];
|
588 |
+
$post_data['youtube']['description'] = $_POST['youtube_description'];
|
589 |
+
$post_data['youtube']['title'] = $_POST['youtube_title'];
|
590 |
}
|
591 |
|
592 |
+
|
593 |
+
$post_params = array( 'podcast-id' => $podcast_id, 'post-data' => $post_data, '' );
|
594 |
|
595 |
foreach ( $api_url_array as $api_url ) {
|
596 |
$response = powerpress_remote_fopen( "{$api_url}social/{$program_keyword}/post.json", $Settings['blubrry_auth'], json_encode( $post_params ) );
|
powerpressadmin.php
CHANGED
@@ -3955,7 +3955,7 @@ function powerpress_admin_episodes_per_feed($feed_slug, $post_type='post')
|
|
3955 |
if( $feed_slug != 'podcast' )
|
3956 |
$field = '_'. $feed_slug .':enclosure';
|
3957 |
global $wpdb;
|
3958 |
-
if ( $results = $wpdb->get_results("SELECT COUNT(post_id) AS episodes_total FROM $wpdb->postmeta WHERE meta_key = '$field'", ARRAY_A) ) {
|
3959 |
if( count($results) )
|
3960 |
{
|
3961 |
foreach( $results as $key => $row ) {
|
3955 |
if( $feed_slug != 'podcast' )
|
3956 |
$field = '_'. $feed_slug .':enclosure';
|
3957 |
global $wpdb;
|
3958 |
+
if ( $results = $wpdb->get_results("SELECT COUNT(post_id) AS episodes_total FROM $wpdb->postmeta WHERE meta_key = '$field' AND post_status <> 'auto-draft' AND post_status <> 'trash' AND post_status <> 'inherit' ", ARRAY_A) ) {
|
3959 |
if( count($results) )
|
3960 |
{
|
3961 |
foreach( $results as $key => $row ) {
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: amandato, blubrry
|
|
3 |
Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts, google podcasts, google play, enclosure, professional, apple, apple tv, ipad, iphone, soundcloud, squarespace, youtube, viddler, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, mp4, m4v, wordpressmu, mu, wordpress mu, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, tgs podcasting, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, serious, seriously, ssp, podlove, podcast.de, clammr, clammr radio, audio player, stitcher, tunein, show, shows, series, docs, documentation, support, free, add-ons, extensions, addons, libsyn, libsyn-podcasting, podbean, podomatic, spreaker
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 7.4.
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -235,6 +235,17 @@ To install Blubrry PowerPress manually, follow these steps:
|
|
235 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
236 |
|
237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
= 7.4.2 =
|
239 |
* Released on 4/26/2019
|
240 |
* Fixed `T_FUNCTION` bug for PHP 5.2 (not an issue if you have PHP 5.3 or newer)
|
3 |
Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts, google podcasts, google play, enclosure, professional, apple, apple tv, ipad, iphone, soundcloud, squarespace, youtube, viddler, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry, mp4, m4v, wordpressmu, mu, wordpress mu, multisite, multi site, mediacaster, post, plugin, posts, simple, social, dashboard, TSG, Buzzsprout, MTR, WP-boxCast, CastMyBlog, tgs podcasting, simple podcasting, seriously simple podcasting, seriously-simple-podcasting, serious, seriously, ssp, podlove, podcast.de, clammr, clammr radio, audio player, stitcher, tunein, show, shows, series, docs, documentation, support, free, add-ons, extensions, addons, libsyn, libsyn-podcasting, podbean, podomatic, spreaker
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
+
Tested up to: 5.2.2
|
7 |
+
Stable tag: 7.4.3
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
235 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
236 |
|
237 |
|
238 |
+
= 7.4.3 =
|
239 |
+
* Released on 6/12/2019
|
240 |
+
* Updated labels for Subscribe buttons and links in admin.
|
241 |
+
* Note: Apple has announced the end of life for iTunes desktop (except for Windows). PowerPress will be removing iTunes desktop specific features where they conflict with the Apple Podcasts iOS app.
|
242 |
+
* Enhanced iTunes summary updated, optimized for latest iOS podcasts app. It is now designed for Apple Podcasts iOS app rather than for iTunes desktop. (Thanks Robin for your assistance!)
|
243 |
+
* Force feed discovery on homepage only to use default podcast feed for Google Search.
|
244 |
+
* Fixed bug with deleting media files hosted on Blubrry Podcast hosting.
|
245 |
+
* Fixed bug with posts with revisions being part of the total number of episodes when viewing podcast feeds in PowerPress settings.
|
246 |
+
* Fixed bug with skipto position time not getting included in feed show notes. (Thanks @tszt for bringing to our attention!)
|
247 |
+
|
248 |
+
|
249 |
= 7.4.2 =
|
250 |
* Released on 4/26/2019
|
251 |
* Fixed `T_FUNCTION` bug for PHP 5.2 (not an issue if you have PHP 5.3 or newer)
|