Version Description
- Released on 10/24/2022
- Various bugfixes
- Refactored Channels page and added missing ajax div
- Refactored form submission on Category page
Download this release
Release Info
Developer | benbeecroft |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 9.6.1 |
Comparing to | |
See all releases |
Code changes from version 9.6 to 9.6.1
- powerpress.php +2 -2
- powerpressadmin-auth.class.php +1 -0
- powerpressadmin-categoryfeeds.php +42 -46
- powerpressadmin-customfeeds.php +97 -90
- powerpressadmin-jquery.php +5 -3
- powerpressadmin.php +14 -4
- readme.txt +7 -1
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="https://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: 9.6
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
@@ -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', '9.6' );
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="https://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: 9.6.1
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
35 |
}
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
+
define('POWERPRESS_VERSION', '9.6.1' );
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
powerpressadmin-auth.class.php
CHANGED
@@ -148,6 +148,7 @@ class PowerPressAuth {
|
|
148 |
curl_setopt($curl, CURLOPT_URL, $url);
|
149 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
150 |
curl_setopt($curl, CURLOPT_HEADER, 0);
|
|
|
151 |
|
152 |
if ( version_compare( PHP_VERSION, '5.3.0') < 0 )
|
153 |
{
|
148 |
curl_setopt($curl, CURLOPT_URL, $url);
|
149 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
150 |
curl_setopt($curl, CURLOPT_HEADER, 0);
|
151 |
+
curl_setopt( $curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 );
|
152 |
|
153 |
if ( version_compare( PHP_VERSION, '5.3.0') < 0 )
|
154 |
{
|
powerpressadmin-categoryfeeds.php
CHANGED
@@ -38,9 +38,8 @@ function powerpress_admin_categoryfeeds(){
|
|
38 |
</div>
|
39 |
|
40 |
<p class="submit"><input style="background-color: white; color: #4e93d9; border: 1px solid #4e93d9" type="submit" class="powerpress_save_button_other pp-tools-button" name="submit" value="<?php echo __('ADD SETTINGS TO CATEGORY FEED', 'powerpress'); ?>"/></p>
|
41 |
-
|
42 |
-
|
43 |
</div>
|
|
|
44 |
<div class="pp-col-50">
|
45 |
<div class="pp-row">
|
46 |
<h2 class="pp-page-sub-header">Why would I use Podcast Categories?</h2>
|
@@ -57,46 +56,6 @@ function powerpress_admin_categoryfeeds(){
|
|
57 |
</div>
|
58 |
</div>
|
59 |
|
60 |
-
|
61 |
-
<div class="pp-row pp-tools-row">
|
62 |
-
<div class="pp-row" style="width: 100%;">
|
63 |
-
<h2 class="pp-page-sub-header">Category Podcast Settings</h2>
|
64 |
-
</div>
|
65 |
-
|
66 |
-
<h3 style="width: 100%;">Strict Categories</h3>
|
67 |
-
<p style="margin: 0;">
|
68 |
-
<input type="hidden" name="cat_casting_strict" value="0" />
|
69 |
-
|
70 |
-
<label>
|
71 |
-
<input type="checkbox" name="cat_casting_strict" value="1" <?php echo ( !empty($General['cat_casting_strict']) ?'checked ':''); ?>/>
|
72 |
-
<?php echo __('Select a specific category to each episode for statistics tracking and subscription links.', 'powerpress'); ?>
|
73 |
-
</label>
|
74 |
-
</p>
|
75 |
-
|
76 |
-
|
77 |
-
<h3 style="width: 100%;">Podcast Only Feeds</h3>
|
78 |
-
<p style="margin: 0;">
|
79 |
-
<input type="hidden" name="cat_casting_podcast_feeds" value="0" />
|
80 |
-
|
81 |
-
<label>
|
82 |
-
<input type="checkbox" name="cat_casting_podcast_feeds" value="1" <?php echo ( !empty($General['cat_casting_podcast_feeds']) ?'checked ':''); ?>/>
|
83 |
-
<?php echo __('Enable to separate blog posts from podcast episodes.', 'powerpress'); ?>
|
84 |
-
</label>
|
85 |
-
</p>
|
86 |
-
</div>
|
87 |
-
|
88 |
-
<div class="pp-row pp-tools-row">
|
89 |
-
<p class="submit" style="margin: 0;"><input type="submit" class="powerpress_save_button_other pp-tools-button" name="submit" value="<?php echo __('Save Settings', 'powerpress'); ?>" /></p>
|
90 |
-
</div>
|
91 |
-
|
92 |
-
<hr>
|
93 |
-
|
94 |
-
<div class="pp-row pp-tools-row" style="margin-top: 20px;">
|
95 |
-
<div class="pp-row">
|
96 |
-
<h2 class="pp-page-sub-header">List of Categories</h2>
|
97 |
-
</div>
|
98 |
-
</div>
|
99 |
-
|
100 |
<div class="pp-row pp-tools-row" style="margin-top: 20px;">
|
101 |
<table class="widefat fixed">
|
102 |
<thead>
|
@@ -210,12 +169,49 @@ function powerpress_admin_categoryfeeds(){
|
|
210 |
</tbody>
|
211 |
</table>
|
212 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
</div>
|
214 |
|
|
|
|
|
215 |
<style>
|
216 |
-
.pp-col-50 {
|
217 |
-
|
218 |
-
}
|
|
|
|
|
|
|
219 |
</style>
|
220 |
|
221 |
-
<?php } ?>
|
38 |
</div>
|
39 |
|
40 |
<p class="submit"><input style="background-color: white; color: #4e93d9; border: 1px solid #4e93d9" type="submit" class="powerpress_save_button_other pp-tools-button" name="submit" value="<?php echo __('ADD SETTINGS TO CATEGORY FEED', 'powerpress'); ?>"/></p>
|
|
|
|
|
41 |
</div>
|
42 |
+
|
43 |
<div class="pp-col-50">
|
44 |
<div class="pp-row">
|
45 |
<h2 class="pp-page-sub-header">Why would I use Podcast Categories?</h2>
|
56 |
</div>
|
57 |
</div>
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
<div class="pp-row pp-tools-row" style="margin-top: 20px;">
|
60 |
<table class="widefat fixed">
|
61 |
<thead>
|
169 |
</tbody>
|
170 |
</table>
|
171 |
</div>
|
172 |
+
|
173 |
+
<input type="hidden" name="action" value="powerpress-addcategoryfeed" />
|
174 |
+
<input type="hidden" name="taxonomy" value="category" />
|
175 |
+
<?php wp_nonce_field('powerpress-add-taxonomy-feed'); ?>
|
176 |
+
|
177 |
+
</form> <!-- closing form started on another page -->
|
178 |
+
|
179 |
+
<br>
|
180 |
+
<div class="pp-row pp-tools-row">
|
181 |
+
<form enctype="multipart/form-data" method="post" action="<?php echo admin_url( 'admin.php?page='. powerpress_admin_get_page() ) ?>">
|
182 |
+
<input type="hidden" name="action" value="powerpress-category-settings" />
|
183 |
+
<?php wp_nonce_field('powerpress-category-settings'); ?>
|
184 |
+
|
185 |
+
<div class="pp-row" style="width: 100%;">
|
186 |
+
<h2 class="pp-page-sub-header">Category Podcast Settings</h2>
|
187 |
+
</div>
|
188 |
+
|
189 |
+
<h3 style="width: 100%;">Strict Categories</h3>
|
190 |
+
<p><input type="hidden" name="cat_casting_strict" value="0" />
|
191 |
+
<label><input type="checkbox" name="cat_casting_strict" value="1" <?php echo ( !empty($General['cat_casting_strict']) ?'checked ':''); ?>/>
|
192 |
+
<?php echo __('Select a specific category to each episode for statistics tracking and subscription links.', 'powerpress'); ?></label></p>
|
193 |
+
|
194 |
+
<h3 style="width: 100%;">Podcast Only Feeds</h3>
|
195 |
+
<p><input type="hidden" name="cat_casting_podcast_feeds" value="0" />
|
196 |
+
<label><input type="checkbox" name="cat_casting_podcast_feeds" value="1" <?php echo ( !empty($General['cat_casting_podcast_feeds']) ?'checked ':''); ?>/>
|
197 |
+
<?php echo __('Enable to separate blog posts from podcast episodes.', 'powerpress'); ?></label></p>
|
198 |
+
|
199 |
+
<div class="pp-row" style="width: 100%;">
|
200 |
+
<p style="margin: 0;"><input type="submit" class="powerpress_save_button_other pp-tools-button" name="submit" value="<?php echo __('Save Settings', 'powerpress'); ?>" /></p>
|
201 |
+
</div>
|
202 |
+
</form>
|
203 |
+
</div>
|
204 |
</div>
|
205 |
|
206 |
+
<br>
|
207 |
+
|
208 |
<style>
|
209 |
+
.pp-col-50 { width: 50%; }
|
210 |
+
.column-url { width: 40%; }
|
211 |
+
.column-name { width: 30%; }
|
212 |
+
.column-feed-slug { width: 15%; }
|
213 |
+
.column-episode-count { width: 15%; }
|
214 |
+
.category-list { width: 100%; }
|
215 |
</style>
|
216 |
|
217 |
+
<?php } ?>
|
powerpressadmin-customfeeds.php
CHANGED
@@ -44,6 +44,7 @@ function powerpress_admin_customfeeds(){
|
|
44 |
<div class="pp-row">
|
45 |
<h4 style="margin: 0; padding-top: 10px;">MyPodcast.com/</h4>
|
46 |
<input name="feed_slug" id="feed_slug" type="text" value="" size="40" style="width: 80%;"/>
|
|
|
47 |
</div>
|
48 |
<p><?php echo __('The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.', 'powerpress'); ?></p>
|
49 |
</div>
|
@@ -72,16 +73,16 @@ function powerpress_admin_customfeeds(){
|
|
72 |
<p style="margin: 0;"><strong><a href="<?php echo admin_url() . wp_nonce_url("admin.php?page=powerpress/powerpressadmin_customfeeds.php&action=powerpress-remove-feed-caps", 'powerpress-remove-feed-caps'); ?>"><?php echo __('Remove Password Protection Capabilities for Control of Which Users can Access Your Podcasts', 'powerpress'); ?></a></strong> (<?php echo __('Also kown as Premium Content', 'powerpress'); ?>)</p>
|
73 |
|
74 |
<p>
|
75 |
-
<?php echo __('Password protection capabilities for custom podcast channel feeds lets you control who can listen and view your
|
76 |
-
podcast. This feature allows you to password-protect custom podcast channels by adding a new role called "Premium
|
77 |
Subscriber." Only users with the "Premium Subscriber" role have access to your password protected custom podcast
|
78 |
channels. Due to this feature\'s complexity, it is not supported by Blubrry.com.', 'powerpress'); ?>
|
79 |
</p>
|
80 |
<?php } else { ?>
|
81 |
<p style="margin: 0;"><strong><a href="<?php echo admin_url() . wp_nonce_url("admin.php?page=powerpress/powerpressadmin_customfeeds.php&action=powerpress-add-feed-caps", 'powerpress-add-feed-caps'); ?>"><?php echo __('Add Password Protection Capabilities for Control of Which Users can Access Your Podcasts', 'powerpress'); ?></a></strong> (<?php echo __('Also known as Premium Content', 'powerpress'); ?>)</p>
|
82 |
<p>
|
83 |
-
<?php echo __('Adding password protection capabilities for custom podcast channel feeds lets you control who can listen and view your
|
84 |
-
podcast. This feature allows you to password-protect custom podcast channels by adding a new role called "Premium
|
85 |
Subscriber." Only users with the "Premium Subscriber" role have access to your password protected custom podcast
|
86 |
channels. Due to this feature\'s complexity, it is not supported by Blubrry.com.', 'powerpress'); ?>
|
87 |
</p>
|
@@ -97,113 +98,119 @@ function powerpress_admin_customfeeds(){
|
|
97 |
<tr><?php print_column_headers('powerpressadmin_customfeeds'); ?></tr>
|
98 |
</thead>
|
99 |
|
100 |
-
<tfoot>
|
101 |
-
<tr><?php print_column_headers('powerpressadmin_customfeeds', false); ?></tr>
|
102 |
-
</tfoot>
|
103 |
-
|
104 |
<tbody>
|
105 |
<?php
|
106 |
-
|
107 |
-
|
108 |
-
if(isset($General['custom_feeds']['podcast'])){
|
109 |
-
$Feeds = $General['custom_feeds'];
|
110 |
-
} elseif( is_array($General['custom_feeds'])){
|
111 |
-
$Feeds += $General['custom_feeds'];
|
112 |
-
}
|
113 |
|
114 |
-
|
115 |
-
$
|
|
|
|
|
|
|
116 |
|
117 |
-
|
118 |
-
|
119 |
-
$episode_total = powerpress_admin_episodes_per_feed($feed_slug);
|
120 |
-
$columns = powerpress_admin_customfeeds_columns();
|
121 |
-
$hidden = array();
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
echo '<tr class="alternate">';
|
129 |
-
} else {
|
130 |
-
echo '<tr>';
|
131 |
-
}
|
132 |
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
$url = get_feed_link($feed_slug);
|
137 |
-
$short_url = str_replace('http://', '', $url);
|
138 |
-
$short_url = str_replace('www.', '', $short_url);
|
139 |
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
|
|
|
|
|
|
|
144 |
|
145 |
-
switch($column_name){
|
146 |
-
case 'feed-slug': {
|
147 |
-
echo "<td $class>$feed_slug";
|
148 |
-
echo "</td>";
|
149 |
-
} break;
|
150 |
|
151 |
-
|
|
|
|
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
echo '<div class="row-actions">';
|
163 |
-
|
164 |
-
|
165 |
-
($i == $action_count) ? $sep = '' : $sep = ' | ';
|
166 |
-
echo '<span class="'.$action.'">'.$linkaction.$sep .'</span>';
|
167 |
}
|
168 |
echo '</div>';
|
169 |
-
|
170 |
-
} break;
|
171 |
-
|
172 |
-
case 'url': {
|
173 |
-
echo "<td $class><a href='$url' title='". esc_attr(sprintf(__('Visit %s', 'powerpress'), $feed_title))."' target=\"_blank\">". esc_html($short_url) ."</a>";
|
174 |
-
echo '<div class="row-actions">';
|
175 |
-
if(defined('POWERPRESS_FEEDVALIDATOR_URL')){
|
176 |
-
echo '<span class="'.$action .'"><a href="'. POWERPRESS_FEEDVALIDATOR_URL . urlencode($url) .'" target="_blank">' . __('Validate Feed', 'powerpress') . '</a></span>';
|
177 |
-
}
|
178 |
-
echo '</div>';
|
179 |
-
echo "</td>";
|
180 |
|
181 |
-
|
182 |
|
183 |
-
|
184 |
|
185 |
-
|
186 |
-
|
187 |
|
188 |
-
|
189 |
|
190 |
-
|
191 |
-
|
192 |
-
}
|
193 |
}
|
194 |
-
|
195 |
-
echo "\n </tr>\n";
|
196 |
-
$count++;
|
197 |
}
|
198 |
-
|
|
|
|
|
|
|
|
|
199 |
</tbody>
|
200 |
-
|
201 |
-
</div>
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
|
|
208 |
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
<div class="pp-row">
|
45 |
<h4 style="margin: 0; padding-top: 10px;">MyPodcast.com/</h4>
|
46 |
<input name="feed_slug" id="feed_slug" type="text" value="" size="40" style="width: 80%;"/>
|
47 |
+
|
48 |
</div>
|
49 |
<p><?php echo __('The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.', 'powerpress'); ?></p>
|
50 |
</div>
|
73 |
<p style="margin: 0;"><strong><a href="<?php echo admin_url() . wp_nonce_url("admin.php?page=powerpress/powerpressadmin_customfeeds.php&action=powerpress-remove-feed-caps", 'powerpress-remove-feed-caps'); ?>"><?php echo __('Remove Password Protection Capabilities for Control of Which Users can Access Your Podcasts', 'powerpress'); ?></a></strong> (<?php echo __('Also kown as Premium Content', 'powerpress'); ?>)</p>
|
74 |
|
75 |
<p>
|
76 |
+
<?php echo __('Password protection capabilities for custom podcast channel feeds lets you control who can listen and view your
|
77 |
+
podcast. This feature allows you to password-protect custom podcast channels by adding a new role called "Premium
|
78 |
Subscriber." Only users with the "Premium Subscriber" role have access to your password protected custom podcast
|
79 |
channels. Due to this feature\'s complexity, it is not supported by Blubrry.com.', 'powerpress'); ?>
|
80 |
</p>
|
81 |
<?php } else { ?>
|
82 |
<p style="margin: 0;"><strong><a href="<?php echo admin_url() . wp_nonce_url("admin.php?page=powerpress/powerpressadmin_customfeeds.php&action=powerpress-add-feed-caps", 'powerpress-add-feed-caps'); ?>"><?php echo __('Add Password Protection Capabilities for Control of Which Users can Access Your Podcasts', 'powerpress'); ?></a></strong> (<?php echo __('Also known as Premium Content', 'powerpress'); ?>)</p>
|
83 |
<p>
|
84 |
+
<?php echo __('Adding password protection capabilities for custom podcast channel feeds lets you control who can listen and view your
|
85 |
+
podcast. This feature allows you to password-protect custom podcast channels by adding a new role called "Premium
|
86 |
Subscriber." Only users with the "Premium Subscriber" role have access to your password protected custom podcast
|
87 |
channels. Due to this feature\'s complexity, it is not supported by Blubrry.com.', 'powerpress'); ?>
|
88 |
</p>
|
98 |
<tr><?php print_column_headers('powerpressadmin_customfeeds'); ?></tr>
|
99 |
</thead>
|
100 |
|
|
|
|
|
|
|
|
|
101 |
<tbody>
|
102 |
<?php
|
103 |
+
$Feeds = array('podcast'=>__('Podcast', 'powerpress') );
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
|
105 |
+
if(isset($General['custom_feeds']['podcast'])){
|
106 |
+
$Feeds = $General['custom_feeds'];
|
107 |
+
} elseif( is_array($General['custom_feeds'])){
|
108 |
+
$Feeds += $General['custom_feeds'];
|
109 |
+
}
|
110 |
|
111 |
+
asort($Feeds, SORT_STRING); // Sort feeds
|
112 |
+
$count = 0;
|
|
|
|
|
|
|
113 |
|
114 |
+
foreach($Feeds as $feed_slug => $feed_title){
|
115 |
+
$feed_slug = esc_attr($feed_slug); // Precaution
|
116 |
+
$episode_total = powerpress_admin_episodes_per_feed($feed_slug);
|
117 |
+
$columns = powerpress_admin_customfeeds_columns();
|
118 |
+
$hidden = array();
|
|
|
|
|
|
|
|
|
119 |
|
120 |
+
if($feed_slug == 'podcast'){
|
121 |
+
$feed_title = __('Podcast', 'powerpress');
|
122 |
+
}
|
|
|
|
|
|
|
123 |
|
124 |
+
if($count % 2 == 0){
|
125 |
+
echo '<tr class="alternate">';
|
126 |
+
} else {
|
127 |
+
echo '<tr>';
|
128 |
+
}
|
129 |
|
130 |
+
foreach($columns as $column_name=>$column_display_name){
|
131 |
+
$class = "class=\"column-$column_name\"";
|
132 |
+
$edit_link = admin_url('admin.php?page='. powerpress_admin_get_page() .'&action=powerpress-editfeed&feed_slug=') . $feed_slug;
|
133 |
+
$url = get_feed_link($feed_slug);
|
134 |
+
$short_url = str_replace('http://', '', $url);
|
135 |
+
$short_url = str_replace('www.', '', $short_url);
|
136 |
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
+
if(strlen($short_url) > 35){
|
139 |
+
$short_url = substr($short_url, 0, 32).'...';
|
140 |
+
}
|
141 |
|
142 |
+
switch($column_name){
|
143 |
+
case 'feed-slug': {
|
144 |
+
echo "<td $class>$feed_slug";
|
145 |
+
echo "</td>";
|
146 |
+
} break;
|
147 |
+
|
148 |
+
case 'name': {
|
149 |
+
|
150 |
+
echo '<td '.$class.'><strong><a class="row-title" href="'.$edit_link.'" title="' . esc_attr(sprintf(__('Edit "%s"', 'powerpress'), $feed_title)) . '">'. esc_html($feed_title) .'</a></strong>'. ( $feed_slug == 'podcast' ?' ('. __('default channel', 'powerpress') .')':'').'<br />';
|
151 |
+
$actions = array();
|
152 |
+
$actions['edit'] = '<a href="' . $edit_link . '">' . __('Edit', 'powerpress') . '</a>';
|
153 |
+
$actions['delete'] = "<a class='submitdelete' href='". admin_url() . wp_nonce_url("admin.php?page=". powerpress_admin_get_page() ."&action=powerpress-delete-feed&feed_slug=$feed_slug", 'powerpress-delete-feed-' . $feed_slug) . "' onclick=\"if ( confirm('" . esc_js(sprintf( __("You are about to delete feed '%s'\n 'Cancel' to stop, 'OK' to delete.", 'powerpress'), esc_attr($feed_title) )) . "') ) { return true;}return false;\">" . __('Delete', 'powerpress') . "</a>";
|
154 |
+
if(!isset($General['custom_feeds'][ $feed_slug ])){
|
155 |
+
unset($actions['delete']);
|
156 |
+
}
|
157 |
+
$action_count = count($actions);
|
158 |
+
$i = 0;
|
159 |
+
echo '<div class="row-actions">';
|
160 |
+
foreach ($actions as $action => $linkaction){
|
161 |
+
++$i;
|
162 |
+
($i == $action_count) ? $sep = '' : $sep = ' | ';
|
163 |
+
echo '<span class="'.$action.'">'.$linkaction.$sep .'</span>';
|
164 |
+
}
|
165 |
+
echo '</div>';
|
166 |
+
echo '</td>';
|
167 |
+
} break;
|
168 |
+
|
169 |
+
case 'url': {
|
170 |
+
echo "<td $class><a href='$url' title='". esc_attr(sprintf(__('Visit %s', 'powerpress'), $feed_title))."' target=\"_blank\">". esc_html($short_url) ."</a>";
|
171 |
echo '<div class="row-actions">';
|
172 |
+
if(defined('POWERPRESS_FEEDVALIDATOR_URL')){
|
173 |
+
echo '<span class="'.$action .'"><a href="'. POWERPRESS_FEEDVALIDATOR_URL . urlencode($url) .'" target="_blank">' . __('Validate Feed', 'powerpress') . '</a></span>';
|
|
|
|
|
174 |
}
|
175 |
echo '</div>';
|
176 |
+
echo "</td>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
+
} break;
|
179 |
|
180 |
+
case 'episode-count': {
|
181 |
|
182 |
+
echo "<td $class>$episode_total";
|
183 |
+
echo "</td>";
|
184 |
|
185 |
+
} break;
|
186 |
|
187 |
+
default: {
|
188 |
+
} break;
|
|
|
189 |
}
|
|
|
|
|
|
|
190 |
}
|
191 |
+
|
192 |
+
echo "\n </tr>\n";
|
193 |
+
$count++;
|
194 |
+
}
|
195 |
+
?>
|
196 |
</tbody>
|
197 |
+
</table>
|
|
|
198 |
|
199 |
+
<?php if(!isset($General['custom_feeds'][ $feed_slug ])) { ?>
|
200 |
+
<p style="margin-top: 20px;"><?php echo sprintf( __('Note: The default channel "Podcast" is currently using global PowerPress settings. Click %s to customize the default "Podcast" channel.', 'powerpress'),
|
201 |
+
'<a href="'. admin_url('admin.php?page='. powerpress_admin_get_page() .'&action=powerpress-editfeed&feed_slug=podcast') .'">'. __('Edit', 'powerpress') .'</a>'); ?>
|
202 |
+
</p>
|
203 |
+
<?php } ?>
|
204 |
+
</div>
|
205 |
|
206 |
+
<div id="ajax-response"></div>
|
207 |
+
<input type="hidden" name="action" value="powerpress-addfeed"/>
|
208 |
+
<?php } ?>
|
209 |
+
|
210 |
+
<style>
|
211 |
+
.pp-col-50 { width: 50%; }
|
212 |
+
.column-url { width: 40%; }
|
213 |
+
.column-name { width: 30%; }
|
214 |
+
.column-feed-slug { width: 15%; }
|
215 |
+
.column-episode-count { width: 15%; }
|
216 |
+
</style>
|
powerpressadmin-jquery.php
CHANGED
@@ -273,11 +273,12 @@ function powerpress_admin_jquery_init()
|
|
273 |
$Programs[$row['program_keyword']] = $row['program_title'];
|
274 |
}
|
275 |
}
|
|
|
276 |
if( $Error ) {
|
277 |
powerpress_page_message_add_notice($Error, 'inline', false);
|
278 |
-
|
|
|
279 |
$FeedSlug = sanitize_title($_GET['podcast-feed']);
|
280 |
-
powerpress_admin_jquery_header( __('Select Media', 'powerpress'), true );
|
281 |
?>
|
282 |
<style>
|
283 |
.error {
|
@@ -574,7 +575,8 @@ window.onload = function() {
|
|
574 |
echo '<p>';
|
575 |
}
|
576 |
?>
|
577 |
-
<?php }
|
|
|
578 |
<p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?></a></p>
|
579 |
</div>
|
580 |
|
273 |
$Programs[$row['program_keyword']] = $row['program_title'];
|
274 |
}
|
275 |
}
|
276 |
+
powerpress_admin_jquery_header( __('Select Media', 'powerpress'), true );
|
277 |
if( $Error ) {
|
278 |
powerpress_page_message_add_notice($Error, 'inline', false);
|
279 |
+
powerpress_page_message_print();
|
280 |
+
} else {
|
281 |
$FeedSlug = sanitize_title($_GET['podcast-feed']);
|
|
|
282 |
?>
|
283 |
<style>
|
284 |
.error {
|
575 |
echo '<p>';
|
576 |
}
|
577 |
?>
|
578 |
+
<?php }
|
579 |
+
}?>
|
580 |
<p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?></a></p>
|
581 |
</div>
|
582 |
|
powerpressadmin.php
CHANGED
@@ -2894,9 +2894,9 @@ function powerpress_check_url(url, DestDiv)
|
|
2894 |
validChars = ':0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-_.?=&:';
|
2895 |
|
2896 |
}
|
2897 |
-
//
|
2898 |
-
if (url.includes('
|
2899 |
-
validChars = ':0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-_
|
2900 |
}
|
2901 |
// for blubrry's programmatic ads, we include %s to encode the feed url in the query string
|
2902 |
if (url.includes('mc.blubrry.com')) {
|
@@ -3255,6 +3255,12 @@ function powerpress_send_to_poster_image(url)
|
|
3255 |
|
3256 |
add_action('admin_head', 'powerpress_admin_head');
|
3257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3258 |
function powerpress_check_account_verified_popup($no_signout_link = false) {
|
3259 |
$link_action_url = admin_url('admin.php?action=powerpress-jquery-account-verify');
|
3260 |
$link_action = 'powerpress-jquery-account-verify';
|
@@ -3430,7 +3436,7 @@ function powerpress_create_subscribe_page()
|
|
3430 |
}
|
3431 |
}
|
3432 |
$languages[] = 'en_US'; // fallback to the en_US version
|
3433 |
-
|
3434 |
$template_content = false;
|
3435 |
foreach( $languages as $index => $lang )
|
3436 |
{
|
@@ -3452,6 +3458,10 @@ function powerpress_create_subscribe_page()
|
|
3452 |
}
|
3453 |
return false;
|
3454 |
}
|
|
|
|
|
|
|
|
|
3455 |
|
3456 |
// Create page here...
|
3457 |
global $user_ID;
|
2894 |
validChars = ':0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-_.?=&:';
|
2895 |
|
2896 |
}
|
2897 |
+
// art19 urls have commas and %s
|
2898 |
+
if (url.includes('art19.com')) {
|
2899 |
+
validChars = ':0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-_.?=&,%:';
|
2900 |
}
|
2901 |
// for blubrry's programmatic ads, we include %s to encode the feed url in the query string
|
2902 |
if (url.includes('mc.blubrry.com')) {
|
3255 |
|
3256 |
add_action('admin_head', 'powerpress_admin_head');
|
3257 |
|
3258 |
+
// our sidebar widget throws an error in the block widget editor
|
3259 |
+
function example_theme_support() {
|
3260 |
+
remove_theme_support( 'widgets-block-editor' );
|
3261 |
+
}
|
3262 |
+
add_action( 'after_setup_theme', 'example_theme_support' );
|
3263 |
+
|
3264 |
function powerpress_check_account_verified_popup($no_signout_link = false) {
|
3265 |
$link_action_url = admin_url('admin.php?action=powerpress-jquery-account-verify');
|
3266 |
$link_action = 'powerpress-jquery-account-verify';
|
3436 |
}
|
3437 |
}
|
3438 |
$languages[] = 'en_US'; // fallback to the en_US version
|
3439 |
+
|
3440 |
$template_content = false;
|
3441 |
foreach( $languages as $index => $lang )
|
3442 |
{
|
3458 |
}
|
3459 |
return false;
|
3460 |
}
|
3461 |
+
|
3462 |
+
// delete heading stuff from template
|
3463 |
+
$template_array = explode('[powerpress_subscribe]', $template_content);
|
3464 |
+
$template_content = '[powerpress_subscribe]' . $template_array[1];
|
3465 |
|
3466 |
// Create page here...
|
3467 |
global $user_ID;
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts,
|
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 6.0
|
7 |
-
Stable tag: 9.6
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -185,6 +185,12 @@ If you are a fan of PowerPress, we would greatly appreciate it if you could take
|
|
185 |
|
186 |
|
187 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
= 9.6 =
|
189 |
* Released on 10/10/2022
|
190 |
* Redesign pages for tools, channels, categories, taxonomies, and post types
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 9.6.1
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
185 |
|
186 |
|
187 |
== Changelog ==
|
188 |
+
= 9.6.1 =
|
189 |
+
* Released on 10/24/2022
|
190 |
+
* Various bugfixes
|
191 |
+
* Refactored Channels page and added missing ajax div
|
192 |
+
* Refactored form submission on Category page
|
193 |
+
|
194 |
= 9.6 =
|
195 |
* Released on 10/10/2022
|
196 |
* Redesign pages for tools, channels, categories, taxonomies, and post types
|