Version Description
- Released on 12/07/2022
- Bugfix for artwork uploader
- Other small bugfixes
- Added Swahili to podcast feed language options
Download this release
Release Info
Developer | benbeecroft |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 9.7.4 |
Comparing to | |
See all releases |
Code changes from version 9.7.3 to 9.7.4
- getid3/module.audio.mp3.php +1 -1
- powerpress.php +2 -2
- powerpressadmin-mt.php +1 -1
- powerpressadmin.php +63 -45
- readme.txt +7 -1
getid3/module.audio.mp3.php
CHANGED
@@ -1244,7 +1244,7 @@ class getid3_mp3 extends getid3_handler
|
|
1244 |
|
1245 |
$previousvalidframe = $info['avdataoffset'];
|
1246 |
while ($this->ftell() < $info['avdataend']) {
|
1247 |
-
set_time_limit(30);
|
1248 |
$head4 = $this->fread(4);
|
1249 |
if (strlen($head4) < 4) {
|
1250 |
break;
|
1244 |
|
1245 |
$previousvalidframe = $info['avdataoffset'];
|
1246 |
while ($this->ftell() < $info['avdataend']) {
|
1247 |
+
@set_time_limit(30);
|
1248 |
$head4 = $this->fread(4);
|
1249 |
if (strlen($head4) < 4) {
|
1250 |
break;
|
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.7.
|
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.7.
|
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.7.4
|
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.7.4' );
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
powerpressadmin-mt.php
CHANGED
@@ -150,7 +150,7 @@ if( !function_exists('add_action') )
|
|
150 |
$Media = ( isset($_POST['Media']) ? $_POST['Media'] : array() );
|
151 |
$Titles = ( isset($_POST['Titles']) ? $_POST['Titles'] : array() );
|
152 |
|
153 |
-
set_time_limit(60 + (10* count($Import)) );
|
154 |
$DetectDuration = ( !empty($_POST['DetectDuration']) ? $_POST['DetectDuration'] : 0 );
|
155 |
|
156 |
if( $DetectDuration )
|
150 |
$Media = ( isset($_POST['Media']) ? $_POST['Media'] : array() );
|
151 |
$Titles = ( isset($_POST['Titles']) ? $_POST['Titles'] : array() );
|
152 |
|
153 |
+
@set_time_limit(60 + (10* count($Import)) );
|
154 |
$DetectDuration = ( !empty($_POST['DetectDuration']) ? $_POST['DetectDuration'] : 0 );
|
155 |
|
156 |
if( $DetectDuration )
|
powerpressadmin.php
CHANGED
@@ -176,6 +176,7 @@ function powerpress_languages()
|
|
176 |
$langs['sv'] = __('Swedish', 'powerpress');
|
177 |
$langs['sv-fi'] = __('Swedish (Finland)', 'powerpress');
|
178 |
$langs['sv-se'] = __('Swedish (Sweden)', 'powerpress');
|
|
|
179 |
$langs['ta'] = __('Tamil', 'powerpress');
|
180 |
$langs['th'] = __('Thai', 'powerpress');
|
181 |
$langs['bo'] = __('Tibetan', 'powerpress');
|
@@ -343,62 +344,79 @@ function powerpress_admin_init()
|
|
343 |
$name = $_FILES['itunes_image_file']['name'];
|
344 |
$ext = substr($name, strrpos($name, '.') + 1);
|
345 |
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
//
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
}
|
361 |
}
|
362 |
-
}
|
363 |
|
364 |
-
|
365 |
-
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
|
|
|
|
|
|
|
|
378 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
} else {
|
380 |
unset($Feed['itunes_image']);
|
381 |
-
powerpress_page_message_add_error(__('
|
382 |
}
|
383 |
-
} else if ($ImageData['channels'] != 3 || $rgb == false) {
|
384 |
-
unset($Feed['itunes_image']);
|
385 |
-
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image must be in RGB color space (CMYK is not supported).', 'powerpress'));
|
386 |
-
} else if ($ImageData[0] != $ImageData[1]) {
|
387 |
-
unset($Feed['itunes_image']);
|
388 |
-
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image must be square, 1400 x 1400 is the required minimum size.', 'powerpress'));
|
389 |
-
} else if ($ImageData[0] != $ImageData[1] || $ImageData[0] < 1400) {
|
390 |
-
unset($Feed['itunes_image']);
|
391 |
-
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image is too small, 1400 x 1400 is the required minimum size.', 'powerpress'));
|
392 |
-
} else if ($ImageData[0] != $ImageData[1] || $ImageData[0] > 3000) {
|
393 |
-
unset($Feed['itunes_image']);
|
394 |
-
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image is too large, 3000 x 3000 is the maximum size allowed.', 'powerpress'));
|
395 |
} else {
|
396 |
unset($Feed['itunes_image']);
|
397 |
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']));
|
398 |
}
|
399 |
-
} else {
|
400 |
-
unset($Feed['itunes_image']);
|
401 |
-
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']));
|
402 |
}
|
403 |
}
|
404 |
}
|
@@ -4247,7 +4265,7 @@ function powerpress_process_hosting($post_ID, $post_title)
|
|
4247 |
if ($error == false) {
|
4248 |
$post_vars = array('podcast_guid' => $post_guid, 'podcast_post_date' => $post_time, 'podcast_title' => $post_title, 'podcast_subtitle' => isset($EpisodeData['subtitle']) ? $EpisodeData['subtitle'] : '');
|
4249 |
// Extend the max execution time here
|
4250 |
-
set_time_limit(60 * 20); // give it 20 minutes just in case
|
4251 |
$json_data = false;
|
4252 |
if ($creds) {
|
4253 |
$accessToken = powerpress_getAccessToken();
|
176 |
$langs['sv'] = __('Swedish', 'powerpress');
|
177 |
$langs['sv-fi'] = __('Swedish (Finland)', 'powerpress');
|
178 |
$langs['sv-se'] = __('Swedish (Sweden)', 'powerpress');
|
179 |
+
$langs['sw'] = __('Swahili', 'powerpress');
|
180 |
$langs['ta'] = __('Tamil', 'powerpress');
|
181 |
$langs['th'] = __('Thai', 'powerpress');
|
182 |
$langs['bo'] = __('Tibetan', 'powerpress');
|
344 |
$name = $_FILES['itunes_image_file']['name'];
|
345 |
$ext = substr($name, strrpos($name, '.') + 1);
|
346 |
|
347 |
+
|
348 |
+
$UploadArray = wp_upload_dir();
|
349 |
+
$upload_url = $UploadArray['baseurl'];
|
350 |
+
if (empty($name) && !empty($Feed['itunes_image']) && strpos($Feed['itunes_image'], $upload_url) === false) {
|
351 |
+
// no uploaded file--URL pasted into field
|
352 |
+
// download image to local temp file and add to files array
|
353 |
+
$remote_image = file_get_contents($Feed['itunes_image']);
|
354 |
+
$temp = @tempnam('/tmp', 'wp_powerpress');
|
355 |
+
file_put_contents($temp, $remote_image);
|
356 |
+
$_FILES['itunes_image_file']['tmp_name'] = $temp;
|
357 |
+
$_FILES['itunes_image_file']['size'] = filesize($temp);
|
358 |
+
$name = substr($Feed['itunes_image'], strrpos($Feed['itunes_image'], '/') + 1);
|
359 |
+
$_FILES['itunes_image_file']['name'] = $name;
|
360 |
+
$ext = substr($name, strrpos($name, '.') + 1);
|
361 |
+
}
|
362 |
+
if (!empty($_FILES['itunes_image_file']['tmp_name'])) {
|
363 |
+
if (!in_array(strtolower($ext), $acceptable_extensions)) {
|
364 |
+
unset($Feed['itunes_image']);
|
365 |
+
powerpress_page_message_add_error(__('Apple Podcasts image has an invalid file type: ' . $ext, 'powerpress'));
|
366 |
+
} else {
|
367 |
+
// Check the image...
|
368 |
+
if (file_exists($temp)) {
|
369 |
+
$ImageData = @getimagesize($temp);
|
370 |
+
|
371 |
+
$rgb = true; // We assume it is RGB
|
372 |
+
if (defined('POWERPRESS_IMAGICK') && POWERPRESS_IMAGICK) {
|
373 |
+
if ($ImageData[2] == IMAGETYPE_PNG && extension_loaded('imagick')) {
|
374 |
+
$image = new Imagick($temp);
|
375 |
+
if ($image->getImageColorspace() != imagick::COLORSPACE_RGB) {
|
376 |
+
$rgb = false;
|
377 |
+
}
|
378 |
}
|
379 |
}
|
|
|
380 |
|
381 |
+
if (empty($ImageData['channels']))
|
382 |
+
$ImageData['channels'] = 3; // Assume it's ok if we cannot detect it.
|
383 |
|
384 |
+
if ($ImageData) {
|
385 |
+
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
|
386 |
+
{
|
387 |
+
$upload_result = wp_handle_upload($_FILES['itunes_image_file'], array('action' => $_POST['action'], 'test_form' => false));
|
388 |
+
if (is_array($upload_result) && isset($upload_result['error'])) {
|
389 |
+
unset($Feed['itunes_image']);
|
390 |
+
powerpress_page_message_add_error(__('Error saving image', 'powerpress') . ': ' . $upload_result['error']);
|
391 |
+
} elseif (is_array($upload_result) && isset($upload_result['url'])) {
|
392 |
+
$Feed['itunes_image'] = $upload_result['url'];
|
393 |
+
if (!empty($_POST['itunes_image_checkbox_as_rss'])) {
|
394 |
+
$Feed['rss2_image'] = $upload_result['url'];
|
395 |
+
}
|
396 |
+
} else {
|
397 |
+
unset($Feed['itunes_image']);
|
398 |
+
powerpress_page_message_add_error(__('Error saving image', 'powerpress'));
|
399 |
}
|
400 |
+
} else if ($ImageData['channels'] != 3 || $rgb == false) {
|
401 |
+
unset($Feed['itunes_image']);
|
402 |
+
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image must be in RGB color space (CMYK is not supported).', 'powerpress'));
|
403 |
+
} else if ($ImageData[0] != $ImageData[1]) {
|
404 |
+
unset($Feed['itunes_image']);
|
405 |
+
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image must be square, 1400 x 1400 is the required minimum size.', 'powerpress'));
|
406 |
+
} else if ($ImageData[0] != $ImageData[1] || $ImageData[0] < 1400) {
|
407 |
+
unset($Feed['itunes_image']);
|
408 |
+
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image is too small, 1400 x 1400 is the required minimum size.', 'powerpress'));
|
409 |
+
} else if ($ImageData[0] != $ImageData[1] || $ImageData[0] > 3000) {
|
410 |
+
unset($Feed['itunes_image']);
|
411 |
+
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']) . ' - ' . __('Image is too large, 3000 x 3000 is the maximum size allowed.', 'powerpress'));
|
412 |
} else {
|
413 |
unset($Feed['itunes_image']);
|
414 |
+
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']));
|
415 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
} else {
|
417 |
unset($Feed['itunes_image']);
|
418 |
powerpress_page_message_add_error(__('Invalid image', 'powerpress') . ': ' . htmlspecialchars($_FILES['itunes_image_file']['name']));
|
419 |
}
|
|
|
|
|
|
|
420 |
}
|
421 |
}
|
422 |
}
|
4265 |
if ($error == false) {
|
4266 |
$post_vars = array('podcast_guid' => $post_guid, 'podcast_post_date' => $post_time, 'podcast_title' => $post_title, 'podcast_subtitle' => isset($EpisodeData['subtitle']) ? $EpisodeData['subtitle'] : '');
|
4267 |
// Extend the max execution time here
|
4268 |
+
@set_time_limit(60 * 20); // give it 20 minutes just in case
|
4269 |
$json_data = false;
|
4270 |
if ($creds) {
|
4271 |
$accessToken = powerpress_getAccessToken();
|
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.7.
|
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.7.3 =
|
189 |
* Released on 11/17/2022
|
190 |
* Bugfixes for the Post Type Podcasting page
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 9.7.4
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
185 |
|
186 |
|
187 |
== Changelog ==
|
188 |
+
= 9.7.4 =
|
189 |
+
* Released on 12/07/2022
|
190 |
+
* Bugfix for artwork uploader
|
191 |
+
* Other small bugfixes
|
192 |
+
* Added Swahili to podcast feed language options
|
193 |
+
|
194 |
= 9.7.3 =
|
195 |
* Released on 11/17/2022
|
196 |
* Bugfixes for the Post Type Podcasting page
|