- Timestamp:
- 05/17/2023 11:14:06 AM (22 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-blogs/classes/class-bp-blogs-recent-posts-widget.php
r13436 r13481 6 6 * @subpackage BlogsWidgets 7 7 * @since 1.0.0 8 * @deprecated 12.0.0 8 9 */ 9 10 … … 11 12 defined( 'ABSPATH' ) || exit; 12 13 14 _deprecated_file( basename( __FILE__ ), '12.0.0', '', __( 'BuddyPress does not include Legacy Widgets anymore, you can restore it using the BP Classic plugin', 'buddypress' ) ); 15 13 16 /** 14 17 * The Recent Networkwide Posts widget. 15 18 * 16 19 * @since 1.0.0 20 * @deprecated 12.0.0 17 21 */ 18 class BP_Blogs_Recent_Posts_Widget extends WP_Widget{22 class BP_Blogs_Recent_Posts_Widget { 19 23 20 24 /** … … 23 27 * @since 1.5.0 24 28 * @since 9.0.0 Adds the `show_instance_in_rest` property to Widget options. 29 * @deprecated 12.0.0 25 30 */ 26 31 public function __construct() { 27 $widget_ops = array( 28 'description' => __( 'A list of recently published posts from across your network.', 'buddypress' ), 29 'classname' => 'widget_bp_blogs_widget buddypress widget', 30 'customize_selective_refresh' => true, 31 'show_instance_in_rest' => true, 32 ); 33 parent::__construct( false, $name = _x( '(BuddyPress) Recent Networkwide Posts', 'widget name', 'buddypress' ), $widget_ops ); 32 _deprecated_function( __METHOD__, '12.0.0' ); 34 33 } 35 34 … … 39 38 * @see WP_Widget::widget() for description of parameters. 40 39 * 40 * @deprecated 12.0.0 41 * 41 42 * @param array $args Widget arguments. 42 43 * @param array $instance Widget settings, as saved by the user. 43 44 */ 44 45 public function widget( $args, $instance ) { 45 global $activities_template; 46 47 $title = ! empty( $instance['title'] ) 48 ? esc_html( $instance['title'] ) 49 : __( 'Recent Networkwide Posts', 'buddypress' ); 50 51 if ( ! empty( $instance['link_title'] ) ) { 52 $title = '<a href="' . bp_get_blogs_directory_url() . '">' . esc_html( $title ) . '</a>'; 53 } 54 55 /** 56 * Filters the Blogs Recent Posts widget title. 57 * 58 * @since 2.2.0 59 * @since 2.3.0 Added 'instance' and 'id_base' to arguments passed to filter. 60 * 61 * @param string $title The widget title. 62 * @param array $instance The settings for the particular instance of the widget. 63 * @param string $id_base Root ID for all widgets of this type. 64 */ 65 $title = apply_filters( 'widget_title', $title, $instance, $this->id_base ); 66 67 echo $args['before_widget']; 68 echo $args['before_title'] . $title . $args['after_title']; 69 70 $max_limit = bp_get_widget_max_count_limit( __CLASS__ ); 71 if ( empty( $instance['max_posts'] ) || $instance['max_posts'] > $max_limit ) { 72 $instance['max_posts'] = 10; 73 } 74 75 $after_widget = $args['after_widget']; 76 77 // Override some of the contextually set parameters for bp_has_activities(). 78 $args = array( 79 'action' => 'new_blog_post', 80 'max' => $instance['max_posts'], 81 'per_page' => $instance['max_posts'], 82 'user_id' => 0, 83 'scope' => false, 84 'object' => false, 85 'primary_id' => false 86 ); 87 88 // Back up global. 89 $old_activities_template = $activities_template; 90 91 ?> 92 93 <?php if ( bp_has_activities( $args ) ) : ?> 94 95 <ul id="blog-post-list" class="activity-list item-list"> 96 97 <?php while ( bp_activities() ) : bp_the_activity(); ?> 98 99 <li> 100 <div class="activity-content" style="margin: 0"> 101 <div class="activity-header"><?php bp_activity_action(); ?></div> 102 103 <?php if ( bp_get_activity_content_body() ) : ?> 104 105 <div class="activity-inner"><?php bp_activity_content_body(); ?></div> 106 107 <?php endif; ?> 108 109 </div> 110 </li> 111 112 <?php endwhile; ?> 113 114 </ul> 115 116 <?php else : ?> 117 118 <div id="message" class="info"> 119 <p><?php _e( 'Sorry, there were no posts found. Why not write one?', 'buddypress' ); ?></p> 120 </div> 121 122 <?php endif; ?> 123 124 <?php echo $after_widget; 125 126 // Restore the global. 127 $activities_template = $old_activities_template; 46 _deprecated_function( __METHOD__, '12.0.0' ); 128 47 } 129 48 130 49 /** 131 50 * Update the networkwide posts widget options. 51 * 52 * @deprecated 12.0.0 132 53 * 133 54 * @param array $new_instance The new instance options. … … 136 57 */ 137 58 public function update( $new_instance, $old_instance ) { 138 $instance = $old_instance; 139 140 $max_limit = bp_get_widget_max_count_limit( __CLASS__ ); 141 142 $instance['title'] = strip_tags( $new_instance['title'] ); 143 $instance['max_posts'] = $new_instance['max_posts'] > $max_limit ? $max_limit : intval( $new_instance['max_posts'] ); 144 $instance['link_title'] = ! empty( $new_instance['link_title'] ); 145 146 return $instance; 59 _deprecated_function( __METHOD__, '12.0.0' ); 147 60 } 148 61 … … 150 63 * Output the networkwide posts widget options form. 151 64 * 65 * @deprecated 12.0.0 66 * 152 67 * @param array $instance Settings for this widget. 153 68 */ 154 69 public function form( $instance ) { 155 $instance = bp_parse_args( 156 (array) $instance, 157 array( 158 'title' => __( 'Recent Networkwide Posts', 'buddypress' ), 159 'max_posts' => 10, 160 'link_title' => false, 161 ) 162 ); 163 164 $max_limit = bp_get_widget_max_count_limit( __CLASS__ ); 165 166 $title = strip_tags( $instance['title'] ); 167 $max_posts = $instance['max_posts'] > $max_limit ? $max_limit : intval( $instance['max_posts'] ); 168 $link_title = (bool) $instance['link_title']; 169 170 ?> 171 172 <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _ex( 'Title:', 'Label for the Title field of the Recent Networkwide Posts widget', 'buddypress' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" style="width: 100%;" /></label></p> 173 <p><label for="<?php echo $this->get_field_id( 'link_title' ); ?>"><input type="checkbox" name="<?php echo $this->get_field_name( 'link_title' ); ?>" value="1" <?php checked( $link_title ); ?> /> <?php _e( 'Link widget title to Blogs directory', 'buddypress' ); ?></label></p> 174 <p><label for="<?php echo $this->get_field_id( 'max_posts' ); ?>"><?php _e( 'Max posts to show:', 'buddypress' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_posts' ); ?>" name="<?php echo $this->get_field_name( 'max_posts' ); ?>" type="number" min="1" max="<?php echo esc_attr( $max_limit ); ?>" value="<?php echo esc_attr( $max_posts ); ?>" style="width: 30%" /></label></p> 175 <?php 70 _deprecated_function( __METHOD__, '12.0.0' ); 176 71 } 177 72 }
Note: See TracChangeset
for help on using the changeset viewer.