X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0461a5f2e55c8d5f1fde96ca2e83117152573c7d..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-includes/default-widgets.php?ds=sidebyside
diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php
index e48cc01f..d54dbc73 100644
--- a/wp-includes/default-widgets.php
+++ b/wp-includes/default-widgets.php
@@ -13,13 +13,12 @@
*/
class WP_Widget_Pages extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_pages', 'description' => __( 'A list of your site’s Pages.') );
parent::__construct('pages', __('Pages'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract( $args );
+ public function widget( $args, $instance ) {
/**
* Filter the widget title.
@@ -54,20 +53,21 @@ class WP_Widget_Pages extends WP_Widget {
'exclude' => $exclude
) ) );
- if ( !empty( $out ) ) {
- echo $before_widget;
- if ( $title)
- echo $before_title . $title . $after_title;
+ if ( ! empty( $out ) ) {
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
?>
'post_title', 'title' => '', 'exclude' => '') );
$title = esc_attr( $instance['title'] );
@@ -113,13 +113,12 @@ class WP_Widget_Pages extends WP_Widget {
*/
class WP_Widget_Links extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('description' => __( "Your blogroll" ) );
parent::__construct('links', __('Links'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract($args, EXTR_SKIP);
+ public function widget( $args, $instance ) {
$show_description = isset($instance['description']) ? $instance['description'] : false;
$show_name = isset($instance['name']) ? $instance['name'] : false;
@@ -130,7 +129,7 @@ class WP_Widget_Links extends WP_Widget {
$order = $orderby == 'rating' ? 'DESC' : 'ASC';
$limit = isset( $instance['limit'] ) ? $instance['limit'] : -1;
- $before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget);
+ $before_widget = preg_replace( '/id="[^"]*"/', 'id="%id"', $args['before_widget'] );
/**
* Filter the arguments for the Links widget.
@@ -142,8 +141,8 @@ class WP_Widget_Links extends WP_Widget {
* @param array $args An array of arguments to retrieve the links list.
*/
wp_list_bookmarks( apply_filters( 'widget_links_args', array(
- 'title_before' => $before_title, 'title_after' => $after_title,
- 'category_before' => $before_widget, 'category_after' => $after_widget,
+ 'title_before' => $args['before_title'], 'title_after' => $args['after_title'],
+ 'category_before' => $before_widget, 'category_after' => $args['after_widget'],
'show_images' => $show_images, 'show_description' => $show_description,
'show_name' => $show_name, 'show_rating' => $show_rating,
'category' => $category, 'class' => 'linkcat widget',
@@ -152,7 +151,7 @@ class WP_Widget_Links extends WP_Widget {
) ) );
}
- function update( $new_instance, $old_instance ) {
+ public function update( $new_instance, $old_instance ) {
$new_instance = (array) $new_instance;
$instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0 );
foreach ( $instance as $field => $val ) {
@@ -170,7 +169,7 @@ class WP_Widget_Links extends WP_Widget {
return $instance;
}
- function form( $instance ) {
+ public function form( $instance ) {
//Defaults
$instance = wp_parse_args( (array) $instance, array( 'images' => true, 'name' => true, 'description' => false, 'rating' => false, 'category' => false, 'orderby' => 'name', 'limit' => -1 ) );
@@ -223,28 +222,28 @@ class WP_Widget_Links extends WP_Widget {
*/
class WP_Widget_Search extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site.") );
parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops );
}
- function widget( $args, $instance ) {
- extract($args);
+ public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
// Use current theme search form if it exists
get_search_form();
- echo $after_widget;
+ echo $args['after_widget'];
}
- function form( $instance ) {
+ public function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
$title = $instance['title'];
?>
@@ -252,7 +251,7 @@ class WP_Widget_Search extends WP_Widget {
''));
$instance['title'] = strip_tags($new_instance['title']);
@@ -268,22 +267,22 @@ class WP_Widget_Search extends WP_Widget {
*/
class WP_Widget_Archives extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_archive', 'description' => __( 'A monthly archive of your site’s Posts.') );
parent::__construct('archives', __('Archives'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract($args);
+ public function widget( $args, $instance ) {
$c = ! empty( $instance['count'] ) ? '1' : '0';
$d = ! empty( $instance['dropdown'] ) ? '1' : '0';
/** This filter is documented in wp-includes/default-widgets.php */
- $title = apply_filters( 'widget_title', empty($instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base );
+ $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base );
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
if ( $d ) {
?>
@@ -330,10 +329,10 @@ class WP_Widget_Archives extends WP_Widget {
'', 'count' => 0, 'dropdown' => '') );
$instance['title'] = strip_tags($new_instance['title']);
@@ -343,7 +342,7 @@ class WP_Widget_Archives extends WP_Widget {
return $instance;
}
- function form( $instance ) {
+ public function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') );
$title = strip_tags($instance['title']);
$count = $instance['count'] ? 'checked="checked"' : '';
@@ -368,26 +367,26 @@ class WP_Widget_Archives extends WP_Widget {
*/
class WP_Widget_Meta extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_meta', 'description' => __( "Login, RSS, & WordPress.org links.") );
parent::__construct('meta', __('Meta'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract($args);
+ public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base );
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
?>
'' ) );
$title = strip_tags($instance['title']);
?>
@@ -432,34 +431,34 @@ class WP_Widget_Meta extends WP_Widget {
*/
class WP_Widget_Calendar extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_calendar', 'description' => __( 'A calendar of your site’s Posts.') );
parent::__construct('calendar', __('Calendar'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract($args);
+ public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
echo '';
get_calendar();
echo '
';
- echo $after_widget;
+ echo $args['after_widget'];
}
- function update( $new_instance, $old_instance ) {
+ public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}
- function form( $instance ) {
+ public function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
$title = strip_tags($instance['title']);
?>
@@ -476,14 +475,13 @@ class WP_Widget_Calendar extends WP_Widget {
*/
class WP_Widget_Text extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.'));
$control_ops = array('width' => 400, 'height' => 350);
parent::__construct('text', __('Text'), $widget_ops, $control_ops);
}
- function widget( $args, $instance ) {
- extract($args);
+ public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
@@ -497,14 +495,16 @@ class WP_Widget_Text extends WP_Widget {
* @param WP_Widget $instance WP_Widget instance.
*/
$text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
- echo $before_widget;
- if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?>
+ echo $args['before_widget'];
+ if ( ! empty( $title ) ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ } ?>
'', 'text' => '' ) );
$title = strip_tags($instance['title']);
$text = esc_textarea($instance['text']);
@@ -537,13 +537,12 @@ class WP_Widget_Text extends WP_Widget {
*/
class WP_Widget_Categories extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array( 'classname' => 'widget_categories', 'description' => __( "A list or dropdown of categories." ) );
parent::__construct('categories', __('Categories'), $widget_ops);
}
- function widget( $args, $instance ) {
- extract( $args );
+ public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base );
@@ -552,9 +551,10 @@ class WP_Widget_Categories extends WP_Widget {
$h = ! empty( $instance['hierarchical'] ) ? '1' : '0';
$d = ! empty( $instance['dropdown'] ) ? '1' : '0';
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
$cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
@@ -605,10 +605,10 @@ class WP_Widget_Categories extends WP_Widget {
'') );
$title = esc_attr( $instance['title'] );
@@ -649,7 +649,7 @@ class WP_Widget_Categories extends WP_Widget {
*/
class WP_Widget_Recent_Posts extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array('classname' => 'widget_recent_entries', 'description' => __( "Your site’s most recent Posts.") );
parent::__construct('recent-posts', __('Recent Posts'), $widget_ops);
$this->alt_option_name = 'widget_recent_entries';
@@ -659,7 +659,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
add_action( 'switch_theme', array($this, 'flush_widget_cache') );
}
- function widget($args, $instance) {
+ public function widget($args, $instance) {
$cache = array();
if ( ! $this->is_preview() ) {
$cache = wp_cache_get( 'widget_recent_posts', 'widget' );
@@ -679,7 +679,6 @@ class WP_Widget_Recent_Posts extends WP_Widget {
}
ob_start();
- extract($args);
$title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' );
@@ -709,8 +708,10 @@ class WP_Widget_Recent_Posts extends WP_Widget {
if ($r->have_posts()) :
?>
-
-
+
+
have_posts() ) : $r->the_post(); ?>
-
@@ -721,7 +722,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
-
+
'widget_recent_comments', 'description' => __( 'Your site’s most recent comments.' ) );
parent::__construct('recent-comments', __('Recent Comments'), $widget_ops);
$this->alt_option_name = 'widget_recent_comments';
@@ -791,7 +792,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
add_action( 'transition_comment_status', array($this, 'flush_widget_cache') );
}
- function recent_comments_style() {
+ public function recent_comments_style() {
/**
* Filter the Recent Comments default widget styles.
@@ -809,11 +810,11 @@ class WP_Widget_Recent_Comments extends WP_Widget {
'publish'
) ) );
- $output .= $before_widget;
- if ( $title )
- $output .= $before_title . $title . $after_title;
+ $output .= $args['before_widget'];
+ if ( $title ) {
+ $output .= $args['before_title'] . $title . $args['after_title'];
+ }
$output .= '';
- $output .= $after_widget;
+ $output .= $args['after_widget'];
echo $output;
@@ -884,7 +891,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
}
}
- function update( $new_instance, $old_instance ) {
+ public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['number'] = absint( $new_instance['number'] );
@@ -897,7 +904,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
return $instance;
}
- function form( $instance ) {
+ public function form( $instance ) {
$title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
$number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5;
?>
@@ -917,19 +924,17 @@ class WP_Widget_Recent_Comments extends WP_Widget {
*/
class WP_Widget_RSS extends WP_Widget {
- function __construct() {
+ public function __construct() {
$widget_ops = array( 'description' => __('Entries from any RSS or Atom feed.') );
$control_ops = array( 'width' => 400, 'height' => 200 );
parent::__construct( 'rss', __('RSS'), $widget_ops, $control_ops );
}
- function widget($args, $instance) {
+ public function widget($args, $instance) {
if ( isset($instance['error']) && $instance['error'] )
return;
- extract($args, EXTR_SKIP);
-
$url = ! empty( $instance['url'] ) ? $instance['url'] : '';
while ( stristr($url, 'http') != $url )
$url = substr($url, 1);
@@ -964,25 +969,26 @@ class WP_Widget_RSS extends WP_Widget {
$url = esc_url(strip_tags($url));
$icon = includes_url('images/rss.png');
if ( $title )
- $title = " ";
+ $title = " ";
- echo $before_widget;
- if ( $title )
- echo $before_title . $title . $after_title;
+ echo $args['before_widget'];
+ if ( $title ) {
+ echo $args['before_title'] . $title . $args['after_title'];
+ }
wp_widget_rss_output( $rss, $instance );
- echo $after_widget;
+ echo $args['after_widget'];
if ( ! is_wp_error($rss) )
$rss->__destruct();
unset($rss);
}
- function update($new_instance, $old_instance) {
+ public function update($new_instance, $old_instance) {
$testurl = ( isset( $new_instance['url'] ) && ( !isset( $old_instance['url'] ) || ( $new_instance['url'] != $old_instance['url'] ) ) );
return wp_widget_rss_process( $new_instance, $testurl );
}
- function form($instance) {
+ public function form($instance) {
if ( empty($instance) )
$instance = array( 'title' => '', 'url' => '', 'items' => 10, 'error' => false, 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0 );
@@ -1016,16 +1022,15 @@ function wp_widget_rss_output( $rss, $args = array() ) {
return;
}
- $default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0 );
+ $default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0, 'items' => 0 );
$args = wp_parse_args( $args, $default_args );
- extract( $args, EXTR_SKIP );
- $items = (int) $items;
+ $items = (int) $args['items'];
if ( $items < 1 || 20 < $items )
$items = 10;
- $show_summary = (int) $show_summary;
- $show_author = (int) $show_author;
- $show_date = (int) $show_date;
+ $show_summary = (int) $args['show_summary'];
+ $show_author = (int) $args['show_author'];
+ $show_date = (int) $args['show_date'];
if ( !$rss->get_item_quantity() ) {
echo '- ' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '
';
@@ -1035,29 +1040,28 @@ function wp_widget_rss_output( $rss, $args = array() ) {
}
echo '';
- foreach ( $rss->get_items(0, $items) as $item ) {
+ foreach ( $rss->get_items( 0, $items ) as $item ) {
$link = $item->get_link();
- while ( stristr($link, 'http') != $link )
- $link = substr($link, 1);
- $link = esc_url(strip_tags($link));
- $title = esc_attr(strip_tags($item->get_title()));
- if ( empty($title) )
- $title = __('Untitled');
+ while ( stristr( $link, 'http' ) != $link ) {
+ $link = substr( $link, 1 );
+ }
+ $link = esc_url( strip_tags( $link ) );
+
+ $title = esc_html( trim( strip_tags( $item->get_title() ) ) );
+ if ( empty( $title ) ) {
+ $title = __( 'Untitled' );
+ }
$desc = @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
- $desc = esc_attr( strip_tags( $desc ) );
- $desc = trim( str_replace( array( "\n", "\r" ), ' ', $desc ) );
- $desc = wp_html_excerpt( $desc, 360 );
+ $desc = esc_attr( wp_trim_words( $desc, 55, ' […]' ) );
$summary = '';
if ( $show_summary ) {
$summary = $desc;
- // Append ellipsis. Change existing [...] to […].
+ // Change existing [...] to […].
if ( '[...]' == substr( $summary, -5 ) ) {
$summary = substr( $summary, 0, -5 ) . '[…]';
- } elseif ( '[…]' != substr( $summary, -10 ) && $desc !== $summary ) {
- $summary .= ' […]';
}
$summary = '';
@@ -1086,7 +1090,7 @@ function wp_widget_rss_output( $rss, $args = array() ) {
} elseif ( $show_summary ) {
echo "- {$date}{$summary}{$author}
";
} else {
- echo "- {$date}{$author}
";
+ echo "- {$date}{$author}
";
}
}
echo '
';
@@ -1107,56 +1111,58 @@ function wp_widget_rss_output( $rss, $args = array() ) {
* @param array $inputs Override default display options.
*/
function wp_widget_rss_form( $args, $inputs = null ) {
-
$default_inputs = array( 'url' => true, 'title' => true, 'items' => true, 'show_summary' => true, 'show_author' => true, 'show_date' => true );
$inputs = wp_parse_args( $inputs, $default_inputs );
- extract( $args );
- extract( $inputs, EXTR_SKIP );
- $number = esc_attr( $number );
- $title = esc_attr( $title );
- $url = esc_url( $url );
- $items = (int) $items;
- if ( $items < 1 || 20 < $items )
- $items = 10;
- $show_summary = (int) $show_summary;
- $show_author = (int) $show_author;
- $show_date = (int) $show_date;
+ $args['number'] = esc_attr( $args['number'] );
+ $args['title'] = isset( $args['title'] ) ? esc_attr( $args['title'] ) : '';
+ $args['url'] = isset( $args['url'] ) ? esc_url( $args['url'] ) : '';
+ $args['items'] = isset( $args['items'] ) ? (int) $args['items'] : 0;
- if ( !empty($error) )
- echo '' . sprintf( __('RSS Error: %s'), $error) . '
';
+ if ( $args['items'] < 1 || 20 < $args['items'] ) {
+ $args['items'] = 10;
+ }
+
+ $args['show_summary'] = isset( $args['show_summary'] ) ? (int) $args['show_summary'] : (int) $inputs['show_summary'];
+ $args['show_author'] = isset( $args['show_author'] ) ? (int) $args['show_author'] : (int) $inputs['show_author'];
+ $args['show_date'] = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date'];
+
+ if ( ! empty( $args['error'] ) ) {
+ echo '' . sprintf( __( 'RSS Error: %s' ), $args['error'] ) . '
';
+ }
if ( $inputs['url'] ) :
?>
-
-
+
+
-
-
+
+
-
-
__('Add a custom menu to your sidebar.') );
parent::__construct( 'nav_menu', __('Custom Menu'), $widget_ops );
}
- function widget($args, $instance) {
+ public function widget($args, $instance) {
// Get menu
$nav_menu = ! empty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu'] ) : false;
@@ -1322,13 +1328,18 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
echo $args['after_widget'];
}
- function update( $new_instance, $old_instance ) {
- $instance['title'] = strip_tags( stripslashes($new_instance['title']) );
- $instance['nav_menu'] = (int) $new_instance['nav_menu'];
+ public function update( $new_instance, $old_instance ) {
+ $instance = array();
+ if ( ! empty( $new_instance['title'] ) ) {
+ $instance['title'] = strip_tags( stripslashes($new_instance['title']) );
+ }
+ if ( ! empty( $new_instance['nav_menu'] ) ) {
+ $instance['nav_menu'] = (int) $new_instance['nav_menu'];
+ }
return $instance;
}
- function form( $instance ) {
+ public function form( $instance ) {
$title = isset( $instance['title'] ) ? $instance['title'] : '';
$nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';