Version Description
- Released on 10/01/2009
- We are working on PowerPress version 1.0, if you'd like to beta test, please email Angelo (cio [at] rawvoice.com).
- Fixed minor bugs with mp3 media detection: proper user agent set, logic added to deal with LibSyn 406 error, and media detection script can now be used for detecting file size for other media types.
- Improved iTunes subtitle so value is contained within one line.
- Fixed bug with mv4 video displaying incorrectly in PowerPress player.
Download this release
Release Info
Developer | amandato |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 0.9.11 |
Comparing to | |
See all releases |
Code changes from version 0.9.10 to 0.9.11
- mp3info.class.php +123 -35
- player.js +2 -3
- powerpress.php +8 -2
- powerpressadmin-metabox.php +3 -1
- readme.txt +9 -1
mp3info.class.php
CHANGED
@@ -9,17 +9,22 @@
|
|
9 |
//var $m_DownloadBytesLimit = 1638400; // 200K (200*1024*8) bytes file
|
10 |
//var $m_DownloadBytesLimit = 204800; // 25K (25*1024*8) bytes file
|
11 |
var $m_DownloadBytesLimit = 327680; // 40K (40*1024*8) bytes file
|
|
|
12 |
var $m_RedirectLimit = 12; // Number of times to do the 302 redirect
|
13 |
-
var $m_UserAgent = 'Blubrry PowerPress
|
14 |
var $m_error = '';
|
15 |
var $m_warnings = array();
|
16 |
var $m_ContentLength = false;
|
17 |
var $m_RedirectCount = 0;
|
|
|
|
|
|
|
18 |
|
19 |
// Constructor
|
20 |
function Mp3Info()
|
21 |
{
|
22 |
// Empty for now
|
|
|
23 |
}
|
24 |
|
25 |
/*
|
@@ -132,10 +137,10 @@
|
|
132 |
if ($fp)
|
133 |
{
|
134 |
// Create and send the request headers
|
135 |
-
$RequestHeaders = 'GET '.$urlParts['path'].(isset($urlParts['query']) ? '?'.@$urlParts['query'] : '')." HTTP/1.0\r\n";
|
136 |
$RequestHeaders .= 'Host: '.$urlParts['host'].($urlParts['port'] != 80 ? ':'.$urlParts['port'] : '')."\r\n";
|
137 |
$RequestHeaders .= "Connection: Close\r\n";
|
138 |
-
$RequestHeaders .= "User-Agent: {this->m_UserAgent}\r\n";
|
139 |
fwrite($fp, $RequestHeaders."\r\n");
|
140 |
|
141 |
$Redirect = false;
|
@@ -209,7 +214,21 @@
|
|
209 |
}
|
210 |
else // Otherwise, lets set the data and return true for part two
|
211 |
{
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
if( function_exists('get_temp_dir') ) // If wordpress function is available, lets use it
|
214 |
$TempFile = tempnam(get_temp_dir(), 'wp_powerpress');
|
215 |
else // otherwise use the default path
|
@@ -252,7 +271,7 @@
|
|
252 |
|
253 |
$curl = curl_init();
|
254 |
// First, get the content-length...
|
255 |
-
curl_setopt($curl, CURLOPT_USERAGENT,
|
256 |
curl_setopt($curl, CURLOPT_URL, $url);
|
257 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
258 |
curl_setopt($curl, CURLOPT_HEADER, true); // header will be at output
|
@@ -295,23 +314,45 @@
|
|
295 |
$redirect_url = trim($matches[1]);
|
296 |
|
297 |
if( $redirect_url )
|
|
|
|
|
298 |
return $this->DownloadCurl($redirect_url, $RedirectCount +1);
|
|
|
299 |
else
|
|
|
300 |
$this->SetError( sprintf(__('Unable to obtain HTTP %d redirect URL.'), $HttpCode) );
|
|
|
301 |
}
|
302 |
}; break;
|
303 |
default: {
|
304 |
$this->SetError( curl_error($curl) );
|
305 |
}; break;
|
306 |
}
|
|
|
307 |
return false;
|
308 |
}
|
309 |
|
|
|
310 |
if( stristr($ContentType, 'text') )
|
311 |
{
|
312 |
$this->SetError( 'Invalid content type returned.' );
|
313 |
return false;
|
314 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
|
316 |
global $TempFile;
|
317 |
if( function_exists('get_temp_dir') ) // If wordpress function is available, lets use it
|
@@ -323,13 +364,16 @@
|
|
323 |
$this->SetError('Unable to create temporary file for checking media information.');
|
324 |
return false;
|
325 |
}
|
326 |
-
|
327 |
$fp = fopen($TempFile, 'w+b');
|
328 |
// Next get the first chunk of the file...
|
329 |
-
|
330 |
-
|
|
|
|
|
|
|
|
|
331 |
curl_setopt($curl, CURLOPT_FILE, $fp);
|
332 |
-
curl_setopt($curl, CURLOPT_URL, $url);
|
333 |
curl_setopt($curl, CURLOPT_HEADER, false); // header will be at output
|
334 |
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); // HTTP request
|
335 |
curl_setopt($curl, CURLOPT_NOBODY, false );
|
@@ -341,62 +385,96 @@
|
|
341 |
else
|
342 |
{
|
343 |
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
|
344 |
-
curl_setopt($curl, CURLOPT_MAXREDIRS, 0 );
|
345 |
}
|
346 |
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
|
347 |
-
|
348 |
-
//
|
349 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
$success = curl_exec($curl);
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
{
|
360 |
-
|
361 |
-
|
362 |
-
|
|
|
363 |
}
|
|
|
|
|
364 |
|
365 |
if( $success )
|
366 |
{
|
367 |
-
curl_close($curl);
|
368 |
-
|
369 |
if( $ContentLength )
|
370 |
$this->m_ContentLength = $ContentLength;
|
371 |
return $TempFile;
|
372 |
}
|
373 |
-
else
|
374 |
-
{
|
375 |
-
if( curl_errno($curl) )
|
376 |
-
$this->SetError(curl_error($curl) .' ('.curl_errno($curl).')');
|
377 |
-
else
|
378 |
-
$this->SetError('Unable to download media.');
|
379 |
-
}
|
380 |
|
381 |
-
|
382 |
return false;
|
383 |
}
|
384 |
|
385 |
/*
|
386 |
Get the MP3 information
|
387 |
*/
|
388 |
-
function GetMp3Info($File)
|
389 |
{
|
|
|
390 |
$DeleteFile = false;
|
391 |
if( strtolower( substr($File, 0, 7) ) == 'http://' )
|
392 |
{
|
393 |
$LocalFile = $this->Download($File);
|
394 |
if( $LocalFile === false )
|
395 |
return false;
|
|
|
|
|
|
|
|
|
396 |
$DeleteFile = true;
|
397 |
}
|
398 |
else
|
399 |
{
|
|
|
|
|
|
|
|
|
|
|
400 |
$LocalFile = $File;
|
401 |
}
|
402 |
|
@@ -441,6 +519,16 @@
|
|
441 |
|
442 |
return false;
|
443 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
};
|
445 |
|
446 |
/*
|
9 |
//var $m_DownloadBytesLimit = 1638400; // 200K (200*1024*8) bytes file
|
10 |
//var $m_DownloadBytesLimit = 204800; // 25K (25*1024*8) bytes file
|
11 |
var $m_DownloadBytesLimit = 327680; // 40K (40*1024*8) bytes file
|
12 |
+
//var $m_DownloadBytesLimit = 409600; // 50K (50*1024*8) bytes file
|
13 |
var $m_RedirectLimit = 12; // Number of times to do the 302 redirect
|
14 |
+
var $m_UserAgent = 'Blubrry PowerPress';
|
15 |
var $m_error = '';
|
16 |
var $m_warnings = array();
|
17 |
var $m_ContentLength = false;
|
18 |
var $m_RedirectCount = 0;
|
19 |
+
Var $m_file_size_only = false;
|
20 |
+
|
21 |
+
var $m_data = '';
|
22 |
|
23 |
// Constructor
|
24 |
function Mp3Info()
|
25 |
{
|
26 |
// Empty for now
|
27 |
+
$this->m_UserAgent = 'Blubrry PowerPress/'.POWERPRESS_VERSION;
|
28 |
}
|
29 |
|
30 |
/*
|
137 |
if ($fp)
|
138 |
{
|
139 |
// Create and send the request headers
|
140 |
+
$RequestHeaders = ($this->m_file_size_only?'HEAD ':'GET ').$urlParts['path'].(isset($urlParts['query']) ? '?'.@$urlParts['query'] : '')." HTTP/1.0\r\n";
|
141 |
$RequestHeaders .= 'Host: '.$urlParts['host'].($urlParts['port'] != 80 ? ':'.$urlParts['port'] : '')."\r\n";
|
142 |
$RequestHeaders .= "Connection: Close\r\n";
|
143 |
+
$RequestHeaders .= "User-Agent: {$this->m_UserAgent}\r\n";
|
144 |
fwrite($fp, $RequestHeaders."\r\n");
|
145 |
|
146 |
$Redirect = false;
|
214 |
}
|
215 |
else // Otherwise, lets set the data and return true for part two
|
216 |
{
|
217 |
+
if( $this->m_file_size_only )
|
218 |
+
{
|
219 |
+
if( $ContentLength )
|
220 |
+
{
|
221 |
+
$this->m_ContentLength = $ContentLength;
|
222 |
+
return true;
|
223 |
+
}
|
224 |
+
else
|
225 |
+
{
|
226 |
+
$this->SetError('Unable to obtain media size from web server.');
|
227 |
+
return false;
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
+
//global $TempFile;
|
232 |
if( function_exists('get_temp_dir') ) // If wordpress function is available, lets use it
|
233 |
$TempFile = tempnam(get_temp_dir(), 'wp_powerpress');
|
234 |
else // otherwise use the default path
|
271 |
|
272 |
$curl = curl_init();
|
273 |
// First, get the content-length...
|
274 |
+
curl_setopt($curl, CURLOPT_USERAGENT, $this->m_UserAgent );
|
275 |
curl_setopt($curl, CURLOPT_URL, $url);
|
276 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
277 |
curl_setopt($curl, CURLOPT_HEADER, true); // header will be at output
|
314 |
$redirect_url = trim($matches[1]);
|
315 |
|
316 |
if( $redirect_url )
|
317 |
+
{
|
318 |
+
curl_close($curl);
|
319 |
return $this->DownloadCurl($redirect_url, $RedirectCount +1);
|
320 |
+
}
|
321 |
else
|
322 |
+
{
|
323 |
$this->SetError( sprintf(__('Unable to obtain HTTP %d redirect URL.'), $HttpCode) );
|
324 |
+
}
|
325 |
}
|
326 |
}; break;
|
327 |
default: {
|
328 |
$this->SetError( curl_error($curl) );
|
329 |
}; break;
|
330 |
}
|
331 |
+
curl_close($curl);
|
332 |
return false;
|
333 |
}
|
334 |
|
335 |
+
/*
|
336 |
if( stristr($ContentType, 'text') )
|
337 |
{
|
338 |
$this->SetError( 'Invalid content type returned.' );
|
339 |
return false;
|
340 |
}
|
341 |
+
*/
|
342 |
+
|
343 |
+
$FinalURL = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL);
|
344 |
+
curl_close($curl); // Close the first CURL connection
|
345 |
+
|
346 |
+
if( $this->m_file_size_only )
|
347 |
+
{
|
348 |
+
if( $ContentLength )
|
349 |
+
{
|
350 |
+
$this->m_ContentLength = $ContentLength;
|
351 |
+
return true;
|
352 |
+
}
|
353 |
+
$this->SetError('Unable to obtain media size from server.');
|
354 |
+
return false;
|
355 |
+
}
|
356 |
|
357 |
global $TempFile;
|
358 |
if( function_exists('get_temp_dir') ) // If wordpress function is available, lets use it
|
364 |
$this->SetError('Unable to create temporary file for checking media information.');
|
365 |
return false;
|
366 |
}
|
367 |
+
|
368 |
$fp = fopen($TempFile, 'w+b');
|
369 |
// Next get the first chunk of the file...
|
370 |
+
|
371 |
+
$curl = curl_init();
|
372 |
+
curl_setopt($curl, CURLOPT_URL, $FinalURL);
|
373 |
+
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false); // Don't set this as it is knwon to cause errors with the function callback.
|
374 |
+
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
|
375 |
+
curl_setopt($curl, CURLOPT_USERAGENT, $this->m_UserAgent);
|
376 |
curl_setopt($curl, CURLOPT_FILE, $fp);
|
|
|
377 |
curl_setopt($curl, CURLOPT_HEADER, false); // header will be at output
|
378 |
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); // HTTP request
|
379 |
curl_setopt($curl, CURLOPT_NOBODY, false );
|
385 |
else
|
386 |
{
|
387 |
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
|
388 |
+
curl_setopt($curl, CURLOPT_MAXREDIRS, 0 ); // We will attempt to handle redirects ourself
|
389 |
}
|
390 |
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
|
391 |
+
|
392 |
+
// First lets try a range request
|
393 |
+
curl_setopt($curl, CURLOPT_RANGE, '0-'.($this->m_DownloadBytesLimit - 1) );
|
394 |
+
// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Range: bytes=0-'.($this->m_DownloadBytesLimit - 1) ));
|
395 |
+
$success = curl_exec($curl);
|
396 |
+
|
397 |
+
if( !$success && curl_getinfo($curl, CURLINFO_HTTP_CODE) == 406 )
|
398 |
+
{
|
399 |
+
curl_close($curl);
|
400 |
+
$curl = curl_init();
|
401 |
+
//curl_setopt($curl, CURLOPT_URL, $url);
|
402 |
+
curl_setopt($curl, CURLOPT_URL, $FinalURL);
|
403 |
+
curl_setopt($curl, CURLOPT_USERAGENT, $this->m_UserAgent);
|
404 |
+
curl_setopt($curl, CURLOPT_HEADER, false); // header will be at output
|
405 |
+
curl_setopt($curl, CURLOPT_NOBODY, false );
|
406 |
+
curl_setopt($curl, CURLOPT_WRITEFUNCTION, array($this, 'remoteread_curl_writefunc') );
|
407 |
+
if ( !ini_get('safe_mode') && !ini_get('open_basedir') )
|
408 |
+
{
|
409 |
+
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
410 |
+
curl_setopt($curl, CURLOPT_MAXREDIRS, $this->m_RedirectLimit);
|
411 |
+
}
|
412 |
+
else
|
413 |
+
{
|
414 |
+
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
|
415 |
+
curl_setopt($curl, CURLOPT_MAXREDIRS, 0 ); // We will attempt to handle redirects ourself
|
416 |
+
}
|
417 |
+
|
418 |
$success = curl_exec($curl);
|
419 |
+
if( ($success || curl_errno($curl) == 23) && $this->m_data != '' )
|
420 |
+
{
|
421 |
+
fwrite($fp , $this->m_data);
|
422 |
+
$this->m_data = ''; // Free up this memory by setting the value to a blank string
|
423 |
+
$success = true; // Actually this was a success
|
424 |
+
}
|
425 |
+
else if( $success && $this->m_data == '' )
|
426 |
+
{
|
427 |
+
$this->SetError('Unable to download media.');
|
428 |
+
$success = false;
|
429 |
+
}
|
430 |
+
}
|
431 |
+
|
432 |
+
if( !$success )
|
433 |
{
|
434 |
+
if( curl_errno($curl) )
|
435 |
+
$this->SetError('Retrieving file info: '. curl_error($curl) );
|
436 |
+
else if( $this->GetError() == '' )
|
437 |
+
$this->SetError('Unable to download media.');
|
438 |
}
|
439 |
+
curl_close($curl);
|
440 |
+
fclose($fp);
|
441 |
|
442 |
if( $success )
|
443 |
{
|
|
|
|
|
444 |
if( $ContentLength )
|
445 |
$this->m_ContentLength = $ContentLength;
|
446 |
return $TempFile;
|
447 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
|
449 |
+
@unlink($TempFile);
|
450 |
return false;
|
451 |
}
|
452 |
|
453 |
/*
|
454 |
Get the MP3 information
|
455 |
*/
|
456 |
+
function GetMp3Info($File, $file_size_only = false)
|
457 |
{
|
458 |
+
$this->m_file_size_only = $file_size_only;
|
459 |
$DeleteFile = false;
|
460 |
if( strtolower( substr($File, 0, 7) ) == 'http://' )
|
461 |
{
|
462 |
$LocalFile = $this->Download($File);
|
463 |
if( $LocalFile === false )
|
464 |
return false;
|
465 |
+
|
466 |
+
if( $file_size_only )
|
467 |
+
return true;
|
468 |
+
|
469 |
$DeleteFile = true;
|
470 |
}
|
471 |
else
|
472 |
{
|
473 |
+
if( $file_size_only )
|
474 |
+
{
|
475 |
+
$this->m_ContentLength = filesize($File);
|
476 |
+
return true;
|
477 |
+
}
|
478 |
$LocalFile = $File;
|
479 |
}
|
480 |
|
519 |
|
520 |
return false;
|
521 |
}
|
522 |
+
|
523 |
+
function remoteread_curl_writefunc($curl, $data)
|
524 |
+
{
|
525 |
+
$this->m_data .= $data;
|
526 |
+
if( strlen($this->m_data) > $this->m_DownloadBytesLimit )
|
527 |
+
{
|
528 |
+
return 0; // stop the download here...
|
529 |
+
}
|
530 |
+
return strlen($data);
|
531 |
+
}
|
532 |
};
|
533 |
|
534 |
/*
|
player.js
CHANGED
@@ -48,12 +48,11 @@ function powerpress_embed_quicktime(div,media_url,width,height)
|
|
48 |
Html += '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'+ width +'" height="'+ height +'" codebase="http://www.apple.com/qtactivex/qtplugin.cab">\n';
|
49 |
Html += ' <param name="src" value="'+ media_url +'" />\n';
|
50 |
Html += ' <param name="href" value="'+ media_url +'" />\n';
|
51 |
-
Html += ' <param name="scale" value="
|
52 |
Html += ' <param name="controller" value="true" />\n';
|
53 |
Html += ' <param name="autoplay" value="true" />\n';
|
54 |
-
Html += ' <param name="bgcolor" value="000000" />\n';
|
55 |
Html += ' <param name="pluginspage" value="http://www.apple.com/quicktime/download/" />\n';
|
56 |
-
Html += ' <embed
|
57 |
Html += '</object>\n';
|
58 |
document.getElementById(div).innerHTML = Html;
|
59 |
return false; // stop the default link from proceeding
|
48 |
Html += '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'+ width +'" height="'+ height +'" codebase="http://www.apple.com/qtactivex/qtplugin.cab">\n';
|
49 |
Html += ' <param name="src" value="'+ media_url +'" />\n';
|
50 |
Html += ' <param name="href" value="'+ media_url +'" />\n';
|
51 |
+
Html += ' <param name="scale" value="tofit" />\n';
|
52 |
Html += ' <param name="controller" value="true" />\n';
|
53 |
Html += ' <param name="autoplay" value="true" />\n';
|
|
|
54 |
Html += ' <param name="pluginspage" value="http://www.apple.com/quicktime/download/" />\n';
|
55 |
+
Html += ' <embed type="'+ contentType +'" src="'+ media_url +'" width="'+ width +'" height="'+ height +'" scale="tofit" correction="full" cache="true" autoplay="true" controller="true" pluginspage="http://www.apple.com/quicktime/download/"></embed>';
|
56 |
Html += '</object>\n';
|
57 |
document.getElementById(div).innerHTML = Html;
|
58 |
return false; // stop the default link from proceeding
|
powerpress.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://www.blubrry.com/powerpress/
|
5 |
Description: <a href="http://www.blubrry.com/powerpress/" target="_blank">Blubrry PowerPress</a> adds podcasting support to your blog. Features include: media player, 3rd party statistics, iTunes integration, Blubrry Services (Media Statistics and Hosting) integration and a lot more.
|
6 |
-
Version: 0.9.
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Change Log:
|
@@ -33,7 +33,7 @@ if( !function_exists('add_action') )
|
|
33 |
die("access denied.");
|
34 |
|
35 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
36 |
-
define('POWERPRESS_VERSION', '0.9.
|
37 |
|
38 |
/////////////////////////////////////////////////////
|
39 |
// The following define options should be placed in your
|
@@ -1714,6 +1714,8 @@ function powerpress_trim_itunes_value($value, $tag = 'summary')
|
|
1714 |
{
|
1715 |
$length = (function_exists('mb_strlen')?mb_strlen($value):strlen($value) );
|
1716 |
$trim_at = false;
|
|
|
|
|
1717 |
switch($tag)
|
1718 |
{
|
1719 |
case 'summary': {
|
@@ -1726,6 +1728,7 @@ function powerpress_trim_itunes_value($value, $tag = 'summary')
|
|
1726 |
case 'author':
|
1727 |
case 'name':
|
1728 |
default: {
|
|
|
1729 |
// 255 character limit
|
1730 |
if( $length > 255 )
|
1731 |
$trim_at = 255;
|
@@ -1756,6 +1759,9 @@ function powerpress_trim_itunes_value($value, $tag = 'summary')
|
|
1756 |
$value = (function_exists('mb_substr')?mb_substr($value, 0, 252):substr($value, 0, 252) ). '...';
|
1757 |
}
|
1758 |
|
|
|
|
|
|
|
1759 |
return $value;
|
1760 |
}
|
1761 |
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://www.blubrry.com/powerpress/
|
5 |
Description: <a href="http://www.blubrry.com/powerpress/" target="_blank">Blubrry PowerPress</a> adds podcasting support to your blog. Features include: media player, 3rd party statistics, iTunes integration, Blubrry Services (Media Statistics and Hosting) integration and a lot more.
|
6 |
+
Version: 0.9.11
|
7 |
Author: Blubrry
|
8 |
Author URI: http://www.blubrry.com/
|
9 |
Change Log:
|
33 |
die("access denied.");
|
34 |
|
35 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
36 |
+
define('POWERPRESS_VERSION', '0.9.11' );
|
37 |
|
38 |
/////////////////////////////////////////////////////
|
39 |
// The following define options should be placed in your
|
1714 |
{
|
1715 |
$length = (function_exists('mb_strlen')?mb_strlen($value):strlen($value) );
|
1716 |
$trim_at = false;
|
1717 |
+
$remove_new_lines = false;
|
1718 |
+
|
1719 |
switch($tag)
|
1720 |
{
|
1721 |
case 'summary': {
|
1728 |
case 'author':
|
1729 |
case 'name':
|
1730 |
default: {
|
1731 |
+
$remove_new_lines = true;
|
1732 |
// 255 character limit
|
1733 |
if( $length > 255 )
|
1734 |
$trim_at = 255;
|
1759 |
$value = (function_exists('mb_substr')?mb_substr($value, 0, 252):substr($value, 0, 252) ). '...';
|
1760 |
}
|
1761 |
|
1762 |
+
if( $remove_new_lines )
|
1763 |
+
$value = str_replace( array("\r\n\r\n", "\n", "\r", "\t"), array(' - ',' ', '', ' '), $value );
|
1764 |
+
|
1765 |
return $value;
|
1766 |
}
|
1767 |
|
powerpressadmin-metabox.php
CHANGED
@@ -105,7 +105,9 @@ function powerpress_meta_box($object, $box)
|
|
105 |
<label for "Powerpress[<?php echo $FeedSlug; ?>][url]">Media URL</label>
|
106 |
<div class="powerpress_row_content">
|
107 |
<input id="powerpress_url_<?php echo $FeedSlug; ?>" name="Powerpress[<?php echo $FeedSlug; ?>][url]" value="<?php echo $EnclosureURL; ?>" onblur="powerpress_check_url(this.value,'powerpress_warning_<?php echo $FeedSlug; ?>')" style="width: 70%; font-size: 90%;" />
|
108 |
-
|
|
|
|
|
109 |
<input type="hidden" id="powerpress_hosting_<?php echo $FeedSlug; ?>" name="Powerpress[<?php echo $FeedSlug; ?>][hosting]" value="0" />
|
110 |
<?php
|
111 |
|
105 |
<label for "Powerpress[<?php echo $FeedSlug; ?>][url]">Media URL</label>
|
106 |
<div class="powerpress_row_content">
|
107 |
<input id="powerpress_url_<?php echo $FeedSlug; ?>" name="Powerpress[<?php echo $FeedSlug; ?>][url]" value="<?php echo $EnclosureURL; ?>" onblur="powerpress_check_url(this.value,'powerpress_warning_<?php echo $FeedSlug; ?>')" style="width: 70%; font-size: 90%;" />
|
108 |
+
<?php if( @$GeneralSettings['blubrry_hosting'] == 1 ) { ?>
|
109 |
+
<a href="<?php echo admin_url(); ?>?action=powerpress-jquery-media&podcast-feed=<?php echo $FeedSlug; ?>&KeepThis=true&TB_iframe=true&modal=true" title="Select Media File" class="thickbox"><img src="<?php echo powerpress_get_root_url(); ?>/images/blubrry_folder.png" alt="Browse Media Files" /></a>
|
110 |
+
<?php } ?>
|
111 |
<input type="hidden" id="powerpress_hosting_<?php echo $FeedSlug; ?>" name="Powerpress[<?php echo $FeedSlug; ?>][hosting]" value="0" />
|
112 |
<?php
|
113 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: Angelo Mandato, Blubrry.com
|
|
3 |
Tags: podcasting, podcast, podcaster, itunes, enclosure, zune, iphone, youtube, viddler, blip.tv, ustream, podcasting, audio, video, rss2, feed, player, media, rss, mp3, music, embed, feedburner, statistics, stats, flv, flash, id3, episodes, blubrry
|
4 |
Requires at least: 2.6.0
|
5 |
Tested up to: 2.8.4
|
6 |
-
Stable tag: 0.9.
|
7 |
|
8 |
Add podcasting support to your blog.
|
9 |
|
@@ -85,6 +85,14 @@ You can insert the media player within yoru blog posts by using the WordPress sh
|
|
85 |
|
86 |
== Changelog ==
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
= 0.9.10 =
|
89 |
* Released on 9/21/2009
|
90 |
* Fixed code that detects media information when encountering redirects. Bug only affected users who did not have cURL configured in PHP.
|
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
|
4 |
Requires at least: 2.6.0
|
5 |
Tested up to: 2.8.4
|
6 |
+
Stable tag: 0.9.11
|
7 |
|
8 |
Add podcasting support to your blog.
|
9 |
|
85 |
|
86 |
== Changelog ==
|
87 |
|
88 |
+
= 0.9.11 =
|
89 |
+
* Released on 10/01/2009
|
90 |
+
* We are working on PowerPress version 1.0, if you'd like to beta test, please email Angelo (cio [at] rawvoice.com).
|
91 |
+
* Fixed minor bugs with mp3 media detection: proper user agent set, logic added to deal with LibSyn 406 error, and media detection script can now be used for detecting file size for other media types.
|
92 |
+
* Improved iTunes subtitle so value is contained within one line.
|
93 |
+
* Fixed bug with mv4 video displaying incorrectly in PowerPress player.
|
94 |
+
|
95 |
+
|
96 |
= 0.9.10 =
|
97 |
* Released on 9/21/2009
|
98 |
* Fixed code that detects media information when encountering redirects. Bug only affected users who did not have cURL configured in PHP.
|