Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
05/17/2023 11:14:06 AM (22 months ago)
Author:
imath
Message:

Deprecate BP Legacy widgets

Deprecate all classes, functions, JavaScripts and files related to Legacy Widgets. Legacy Widgets are now available from the BP Classic plugin.

See #8869
Closes https://github.com/buddypress/buddypress/pull/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-members/bp-members-widgets.php

    r13153 r13481  
    66 * @subpackage MembersWidgets
    77 * @since 2.2.0
     8 * @deprecated 12.0.0
    89 */
    910
     
    1112defined( 'ABSPATH' ) || exit;
    1213
    13 /**
    14  * Registers the Members Legacy Widget.
    15  *
    16  * @since 10.0.0
    17  */
    18 function bp_members_register_members_widget() {
    19     register_widget( 'BP_Core_Members_Widget' );
    20 }
    21 
    22 /**
    23  * Registers the "Who's online?" Legacy Widget.
    24  *
    25  * @since 10.0.0
    26  */
    27 function bp_members_register_whos_online_widget() {
    28     register_widget( 'BP_Core_Whos_Online_Widget' );
    29 }
    30 
    31 /**
    32  * Registers the "Recently Active" Legacy Widget.
    33  *
    34  * @since 10.0.0
    35  */
    36 function bp_members_register_recently_active_widget() {
    37     register_widget( 'BP_Core_Recently_Active_Widget' );
    38 }
    39 
    40 /**
    41  * Register bp-members widgets.
    42  *
    43  * Previously, these widgets were registered in bp-core.
    44  *
    45  * @since 2.2.0
    46  */
    47 function bp_members_register_widgets() {
    48     add_action( 'widgets_init', 'bp_members_register_members_widget' );
    49     add_action( 'widgets_init', 'bp_members_register_whos_online_widget' );
    50     add_action( 'widgets_init', 'bp_members_register_recently_active_widget' );
    51 }
    52 add_action( 'bp_register_widgets', 'bp_members_register_widgets' );
    53 
    54 /**
    55  * AJAX request handler for Members widgets.
    56  *
    57  * @since 1.0.0
    58  *
    59  * @see BP_Core_Members_Widget
    60  */
    61 function bp_core_ajax_widget_members() {
    62 
    63     check_ajax_referer( 'bp_core_widget_members' );
    64 
    65     // Setup some variables to check.
    66     $filter      = ! empty( $_POST['filter']      ) ? $_POST['filter']                : 'recently-active-members';
    67     $max_members = ! empty( $_POST['max-members'] ) ? absint( $_POST['max-members'] ) : 5;
    68 
    69     // Determine the type of members query to perform.
    70     switch ( $filter ) {
    71 
    72         // Newest activated.
    73         case 'newest-members' :
    74             $type = 'newest';
    75             break;
    76 
    77         // Popular by friends.
    78         case 'popular-members' :
    79             if ( bp_is_active( 'friends' ) ) {
    80                 $type = 'popular';
    81             } else {
    82                 $type = 'active';
    83             }
    84             break;
    85 
    86         // Default.
    87         case 'recently-active-members' :
    88         default :
    89             $type = 'active';
    90             break;
    91     }
    92 
    93     // Setup args for querying members.
    94     $members_args = array(
    95         'user_id'         => 0,
    96         'type'            => $type,
    97         'per_page'        => $max_members,
    98         'max'             => $max_members,
    99         'populate_extras' => true,
    100         'search_terms'    => false,
    101     );
    102 
    103     // Query for members.
    104     if ( bp_has_members( $members_args ) ) : ?>
    105         <?php echo '0[[SPLIT]]'; // Return valid result. TODO: remove this. ?>
    106         <?php while ( bp_members() ) : bp_the_member(); ?>
    107             <li class="vcard">
    108                 <div class="item-avatar">
    109                     <a href="<?php bp_member_permalink(); ?>"><?php bp_member_avatar(); ?></a>
    110                 </div>
    111 
    112                 <div class="item">
    113                     <div class="item-title fn"><a href="<?php bp_member_permalink(); ?>"><?php bp_member_name(); ?></a></div>
    114                     <?php if ( 'active' === $type ) : ?>
    115                         <div class="item-meta"><span class="activity"><?php bp_member_last_active(); ?></span></div>
    116                     <?php elseif ( 'newest' === $type ) : ?>
    117                         <div class="item-meta"><span class="activity"><?php bp_member_registered(); ?></span></div>
    118                     <?php elseif ( bp_is_active( 'friends' ) ) : ?>
    119                         <div class="item-meta"><span class="activity"><?php bp_member_total_friend_count(); ?></span></div>
    120                     <?php endif; ?>
    121                 </div>
    122             </li>
    123 
    124         <?php endwhile; ?>
    125 
    126     <?php else: ?>
    127         <?php echo "-1[[SPLIT]]<li>"; ?>
    128         <?php esc_html_e( 'There were no members found, please try another filter.', 'buddypress' ) ?>
    129         <?php echo "</li>"; ?>
    130     <?php endif;
    131 }
    132 add_action( 'wp_ajax_widget_members', 'bp_core_ajax_widget_members' );
    133 add_action( 'wp_ajax_nopriv_widget_members', 'bp_core_ajax_widget_members' );
     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' ) );
Note: See TracChangeset for help on using the changeset viewer.