Add RSS Error handling functionality to RSS Widget displays. Props DD32. fixes #9273

git-svn-id: http://svn.automattic.com/wordpress/trunk@10697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2009-03-04 19:24:48 +00:00
parent 65e0cea07b
commit d7b53ad4f8
2 changed files with 21 additions and 5 deletions

View File

@ -698,12 +698,19 @@ function wp_dashboard_secondary_output() {
@extract( @$widgets['dashboard_secondary'], EXTR_SKIP );
$rss = @fetch_feed( $url );
if ( !$rss->get_item_quantity() )
if ( is_wp_error($rss) ) {
if ( is_admin() || current_user_can('manage_options') ) {
echo '<div class="rss-widget"><p>';
printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
echo '</p></div>';
}
} elseif ( !$rss->get_item_quantity() ) {
return false;
echo "<div class='rss-widget'>";
wp_widget_rss_output( $rss, $widgets['dashboard_secondary'] );
echo "</div>";
} else {
echo '<div class="rss-widget">';
wp_widget_rss_output( $rss, $widgets['dashboard_secondary'] );
echo '</div>';
}
}
function wp_dashboard_plugins() {

View File

@ -1549,6 +1549,15 @@ function wp_widget_rss_output( $rss, $args = array() ) {
return;
}
if ( is_wp_error($rss) ) {
if ( is_admin() || current_user_can('manage_options') ) {
echo '<p>';
printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
echo '</p>';
}
return;
}
$default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0 );
$args = wp_parse_args( $args, $default_args );
extract( $args, EXTR_SKIP );