Advertisement
vapvarun

Add missing do_action bp_directory_members_item

Nov 8th, 2023
1,363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.94 KB | Source Code | 0 0
  1. <?php
  2. /**
  3.  * The template for members loop
  4.  *
  5.  * This template can be overridden by copying it to yourtheme/buddypress/members/members-loop.php.
  6.  *
  7.  * @since   BuddyPress 3.0.0
  8.  * @version 1.0.0
  9.  */
  10.  
  11. bp_nouveau_before_loop(); ?>
  12.  
  13. <?php
  14. $footer_buttons_class = ( bp_is_active( 'friends' ) && bp_is_active( 'messages' ) ) ? ' footer-buttons-on' : '';
  15.  
  16. $is_follow_active = bp_is_active( 'activity' ) && function_exists( 'bp_is_activity_follow_active' ) && bp_is_activity_follow_active();
  17. $follow_class     = $is_follow_active ? ' follow-active' : '';
  18.  
  19. // Member directories elements.
  20. $enabled_online_status = ! function_exists( 'bb_enabled_member_directory_element' ) || bb_enabled_member_directory_element( 'online-status' );
  21. $enabled_profile_type  = ! function_exists( 'bb_enabled_member_directory_element' ) || bb_enabled_member_directory_element( 'profile-type' );
  22. $enabled_followers     = ! function_exists( 'bb_enabled_member_directory_element' ) || bb_enabled_member_directory_element( 'followers' );
  23. $enabled_last_active   = ! function_exists( 'bb_enabled_member_directory_element' ) || bb_enabled_member_directory_element( 'last-active' );
  24. $enabled_joined_date   = ! function_exists( 'bb_enabled_member_directory_element' ) || bb_enabled_member_directory_element( 'joined-date' );
  25. ?>
  26.  
  27. <?php if ( bp_get_current_member_type() ) : ?>
  28.     <div class="bp-feedback info">
  29.         <span class="bp-icon" aria-hidden="true"></span>
  30.         <p><?php bp_current_member_type_message(); ?></p>
  31.     </div>
  32. <?php endif; ?>
  33.  
  34. <?php if ( bp_has_members( bp_ajax_querystring( 'members' ) ) ) : ?>
  35.  
  36.     <ul id="members-list" class="<?php bp_nouveau_loop_classes(); ?>">
  37.  
  38.         <?php
  39.         while ( bp_members() ) :
  40.             bp_the_member();
  41.  
  42.             // Check if members_list_item has content.
  43.             ob_start();
  44.             bp_nouveau_member_hook( '', 'members_list_item' );
  45.             $members_list_item_content = ob_get_clean();
  46.             $member_loop_has_content   = ! empty( $members_list_item_content );
  47.  
  48.             // Get member followers element.
  49.             $followers_count = '';
  50.             if ( $enabled_followers && function_exists( 'bb_get_followers_count' ) ) {
  51.                 ob_start();
  52.                 bb_get_followers_count( bp_get_member_user_id() );
  53.                 $followers_count = ob_get_clean();
  54.             }
  55.  
  56.             // Member joined data.
  57.             $member_joined_date = bb_get_member_joined_date( bp_get_member_user_id() );
  58.  
  59.             // Member last activity.
  60.             $member_last_activity = bp_get_last_activity( bp_get_member_user_id() );
  61.  
  62.             // Primary and secondary profile action buttons.
  63.             $profile_actions = bb_member_directories_get_profile_actions( bp_get_member_user_id() );
  64.  
  65.             // Member switch button.
  66.             $member_switch_button = bp_get_add_switch_button( bp_get_member_user_id() );
  67.  
  68.             $member_block_button  = '';
  69.             $member_report_button = '';
  70.  
  71.             if ( bp_is_active( 'moderation' ) && is_user_logged_in() ) {
  72.                 // Member report button.
  73.                 $report_button = bp_member_get_report_link(
  74.                     array(
  75.                         'button_element' => 'a',
  76.                         'position'       => 30,
  77.                         'report_user'    => true,
  78.                         'parent_attr'    => array(
  79.                             'id'    => 'user-report-' . bp_get_member_user_id(),
  80.                             'class' => '',
  81.                         ),
  82.                         'button_attr'    => array(
  83.                             'data-bp-content-id'   => bp_get_member_user_id(),
  84.                             'data-bp-content-type' => BP_Moderation_Members::$moderation_type_report,
  85.                             'data-reported_type'   => bp_moderation_get_report_type( BP_Moderation_Members::$moderation_type_report, bp_get_member_user_id() ),
  86.                         ),
  87.  
  88.                     )
  89.                 );
  90.                 $member_report_button = ! is_super_admin( bp_get_member_user_id() ) ? bp_get_button( $report_button ) : '';
  91.             }
  92.  
  93.             if ( bp_is_active( 'moderation' ) && is_user_logged_in() ) {
  94.                 // Member block button.
  95.                 $block_button = bp_member_get_report_link(
  96.                     array(
  97.                         'button_element' => 'a',
  98.                         'position'       => 30,
  99.                         'parent_attr'    => array(
  100.                             'id'    => 'user-block-' . bp_get_member_user_id(),
  101.                             'class' => '',
  102.                         ),
  103.                         'button_attr'    => array(
  104.                             'data-bp-content-id'   => bp_get_member_user_id(),
  105.                             'data-bp-content-type' => BP_Moderation_Members::$moderation_type,
  106.                             'data-reported_type'   => bp_moderation_get_report_type( BP_Moderation_Members::$moderation_type, bp_get_member_user_id() ),
  107.                         ),
  108.  
  109.                     )
  110.                 );
  111.                 $member_block_button = ! is_super_admin( bp_get_member_user_id() ) ? bp_get_button( $block_button ) : '';
  112.             }
  113.  
  114.             // Get Primary action.
  115.             $primary_action_btn = function_exists( 'bb_get_member_directory_primary_action' ) ? bb_get_member_directory_primary_action() : '';
  116.             ?>
  117.             <li <?php bp_member_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_member_user_id(); ?>" data-bp-item-component="members">
  118.                 <div class="list-wrap
  119.                 <?php
  120.                     echo esc_attr( $footer_buttons_class ) .
  121.                         esc_attr( $follow_class ) .
  122.                         esc_attr( true === $member_loop_has_content ? ' has_hook_content' : '' ) .
  123.                         esc_attr( ! empty( $profile_actions['secondary'] ) ? ' secondary-buttons' : ' no-secondary-buttons' ) .
  124.                         esc_attr( ! empty( $primary_action_btn ) ? ' primary-button' : ' no-primary-buttons' );
  125.                 ?>
  126.                 ">
  127.  
  128.                     <div class="list-wrap-inner">
  129.                         <div class="item-avatar">
  130.                             <?php
  131.                             $moderation_class = function_exists( 'bp_moderation_is_user_suspended' ) && bp_moderation_is_user_suspended( bp_get_member_user_id() ) ? 'bp-user-suspended' : '';
  132.                             $moderation_class = function_exists( 'bp_moderation_is_user_blocked' ) && bp_moderation_is_user_blocked( bp_get_member_user_id() ) ? $moderation_class . ' bp-user-blocked' : $moderation_class;
  133.                             ?>
  134.                             <a href="<?php bp_member_permalink(); ?>" class="<?php echo esc_attr( $moderation_class ); ?>">
  135.                                 <?php
  136.                                 if ( $enabled_online_status ) {
  137.                                     bb_user_presence_html( bp_get_member_user_id() );
  138.                                 }
  139.                                 bp_member_avatar( bp_nouveau_avatar_args() );
  140.                                 ?>
  141.                             </a>
  142.                         </div>
  143.  
  144.                         <div class="item">
  145.  
  146.                             <div class="item-block">
  147.  
  148.                                 <?php
  149.                                 if ( $enabled_profile_type && function_exists( 'bp_member_type_enable_disable' ) && true === bp_member_type_enable_disable() && true === bp_member_type_display_on_profile() ) {
  150.                                     echo '<p class="item-meta member-type only-grid-view">' . wp_kses_post( bp_get_user_member_type( bp_get_member_user_id() ) ) . '</p>';
  151.                                 }
  152.                                 ?>
  153.  
  154.                                 <h2 class="list-title member-name">
  155.                                     <a href="<?php bp_member_permalink(); ?>"><?php bp_member_name(); ?></a>
  156.                                 </h2>
  157.  
  158.                                 <?php
  159.                                 do_action('bp_directory_members_item');
  160.                                 if ( $enabled_profile_type && function_exists( 'bp_member_type_enable_disable' ) && true === bp_member_type_enable_disable() && true === bp_member_type_display_on_profile() ) {
  161.                                     echo '<p class="item-meta member-type only-list-view">' . wp_kses_post( bp_get_user_member_type( bp_get_member_user_id() ) ) . '</p>';
  162.                                 }
  163.  
  164.                                 if ( ( $enabled_last_active && $member_last_activity ) || ( $enabled_joined_date && $member_joined_date ) ) :
  165.  
  166.                                     echo '<p class="item-meta last-activity">';
  167.                                     if ( $enabled_joined_date ) {
  168.                                         echo wp_kses_post( $member_joined_date );
  169.                                     }
  170.  
  171.                                     if ( ( $enabled_last_active && $member_last_activity ) && ( $enabled_joined_date && $member_joined_date ) ) {
  172.                                         echo '<span class="separator">&bull;</span>';
  173.                                     }
  174.  
  175.                                     if ( $enabled_last_active ) {
  176.                                         echo wp_kses_post( $member_last_activity );
  177.                                     }
  178.                                     echo '</p>';
  179.                                 endif;
  180.                                 ?>
  181.                             </div>
  182.  
  183.                             <div class="flex align-items-center follow-container justify-center">
  184.                                 <?php echo wp_kses_post( $followers_count ); ?>
  185.                             </div>
  186.  
  187.                             <div class="flex only-grid-view align-items-center primary-action justify-center">
  188.                                 <?php echo wp_kses_post( $profile_actions['primary'] ); ?>
  189.                             </div>
  190.                         </div><!-- // .item -->
  191.  
  192.                         <div class="member-buttons-wrap">
  193.  
  194.                             <?php if ( $profile_actions['secondary'] ) { ?>
  195.                                 <div class="flex only-grid-view button-wrap member-button-wrap footer-button-wrap">
  196.                                     <?php echo wp_kses_post( $profile_actions['secondary'] ); ?>
  197.                                 </div>
  198.                                 <?php
  199.                             }
  200.  
  201.                             if ( $profile_actions['primary'] ) {
  202.                                 ?>
  203.                                 <div class="flex only-list-view align-items-center primary-action justify-center">
  204.                                     <?php echo wp_kses_post( $profile_actions['primary'] ); ?>
  205.                                 </div>
  206.                             <?php } ?>
  207.  
  208.                         </div><!-- .member-buttons-wrap -->
  209.  
  210.                     </div>
  211.  
  212.                     <div class="bp-members-list-hook">
  213.                         <?php if ( $member_loop_has_content ) { ?>
  214.                             <a class="more-action-button" href="#"><i class="bb-icon-menu-dots-h"></i></a>
  215.                         <?php } ?>
  216.                         <div class="bp-members-list-hook-inner">
  217.                             <?php bp_nouveau_member_hook( '', 'members_list_item' ); ?>
  218.                         </div>
  219.                     </div>
  220.  
  221.                     <?php if ( ! empty( $member_switch_button ) || ! empty( $member_report_button ) || ! empty ( $member_block_button ) ) { ?>
  222.                     <div class="bb_more_options member-dropdown">
  223.                         <a href="#" class="bb_more_options_action bp-tooltip" data-bp-tooltip-pos="up" data-bp-tooltip="<?php esc_html_e( 'More Options', 'buddyboss' ); ?>">
  224.                             <i class="bb-icon-menu-dots-h"></i>
  225.                         </a>
  226.                         <div class="bb_more_options_list">
  227.                             <?php echo wp_kses_post( $member_switch_button ); ?>
  228.                             <?php echo wp_kses_post( $member_report_button ); ?>
  229.                             <?php echo wp_kses_post( $member_block_button ); ?>
  230.                         </div>
  231.                     </div><!-- .bb_more_options -->
  232.                     <?php } ?>
  233.                 </div>
  234.             </li>
  235.  
  236.         <?php endwhile; ?>
  237.  
  238.     </ul>
  239.  
  240.     <?php bp_nouveau_pagination( 'bottom' ); ?>
  241.  
  242.     <?php
  243. else :
  244.  
  245.     bp_nouveau_user_feedback( 'members-loop-none' );
  246.  
  247. endif;
  248. ?>
  249.  
  250. <?php bp_nouveau_after_loop(); ?>
  251.  
  252. <!-- Remove Connection confirmation popup -->
  253. <div class="bb-remove-connection bb-action-popup" style="display: none">
  254.     <transition name="modal">
  255.         <div class="modal-mask bb-white bbm-model-wrap">
  256.             <div class="modal-wrapper">
  257.                 <div class="modal-container">
  258.                     <header class="bb-model-header">
  259.                         <h4><span class="target_name"><?php echo esc_html__( 'Remove Connection', 'buddyboss' ); ?></span></h4>
  260.                         <a class="bb-close-remove-connection bb-model-close-button" href="#">
  261.                             <span class="bb-icon-l bb-icon-times"></span>
  262.                         </a>
  263.                     </header>
  264.                     <div class="bb-remove-connection-content bb-action-popup-content">
  265.                         <p>
  266.                             <?php
  267.                             echo sprintf(
  268.                                 /* translators: %s: The member name with HTML tags */
  269.                                 esc_html__( 'Are you sure you want to remove %s from your connections?', 'buddyboss' ),
  270.                                 '<span class="bb-user-name"></span>'
  271.                             );
  272.                             ?>
  273.                         </p>
  274.                     </div>
  275.                     <footer class="bb-model-footer flex align-items-center">
  276.                         <a class="bb-close-remove-connection bb-close-action-popup" href="#"><?php echo esc_html__( 'Cancel', 'buddyboss' ); ?></a>
  277.                         <a class="button push-right bb-confirm-remove-connection" href="#"><?php echo esc_html__( 'Confirm', 'buddyboss' ); ?></a>
  278.                     </footer>
  279.                 </div>
  280.             </div>
  281.         </div>
  282.     </transition>
  283. </div> <!-- .bb-remove-connection -->
  284.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement