Changeset 13302 for trunk/src/bp-groups/bp-groups-template.php
- Timestamp:
- 07/22/2022 11:44:14 AM (4 years ago)
- File:
-
- 1 edited
-
trunk/src/bp-groups/bp-groups-template.php (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/bp-groups-template.php
r13296 r13302 3564 3564 echo bp_get_group_join_button( $group ); 3565 3565 } 3566 /** 3567 * Return button to join a group.3568 * 3569 * @since 1.0.03570 * 3571 * @param object|bool $group Single group object.3572 * @ return false|string3573 * /3574 function bp_get_group_join_button( $group = false ) {3575 global $groups_template;3576 3577 // Set group to current loop group if none passed. 3578 if ( empty( $group ) ) {3579 $group =& $groups_template->group;3566 3567 /** 3568 * Get the arguments for the Join button group 3569 * 3570 * @since 11.0.0 3571 * 3572 * @param BP_Groups_Group $group The group object. 3573 * @return Array The arguments for the Join button group 3574 */ 3575 function bp_groups_get_group_join_button_args( $group = null ) { 3576 $button_args = array(); 3577 3578 if ( empty( $group->id ) ) { 3579 return $button_args; 3580 3580 } 3581 3581 3582 3582 // Don't show button if not logged in or previously banned. 3583 3583 if ( ! is_user_logged_in() || bp_group_is_user_banned( $group ) ) { 3584 return false;3584 return $button_args; 3585 3585 } 3586 3586 3587 3587 // Group creation was not completed or status is unknown. 3588 3588 if ( empty( $group->status ) ) { 3589 return false;3589 return $button_args; 3590 3590 } 3591 3591 … … 3596 3596 $group_admins = groups_get_group_admins( $group->id ); 3597 3597 if ( ( 1 == count( $group_admins ) ) && ( bp_loggedin_user_id() === (int) $group_admins[0]->user_id ) ) { 3598 return false;3598 return $button_args; 3599 3599 } 3600 3600 3601 3601 // Setup button attributes. 3602 $button = array(3602 $button_args = array( 3603 3603 'id' => 'leave_group', 3604 3604 'component' => 'groups', … … 3609 3609 'link_href' => wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'leave-group' ), 'groups_leave_group' ), 3610 3610 'link_text' => __( 'Leave Group', 'buddypress' ), 3611 'link_title' => __( 'Leave Group', 'buddypress' ), 3611 3612 'link_class' => 'group-button leave-group', 3612 3613 ); … … 3618 3619 switch ( $group->status ) { 3619 3620 case 'hidden' : 3620 return false;3621 return $button_args; 3621 3622 3622 3623 case 'public': 3623 $button = array(3624 $button_args = array( 3624 3625 'id' => 'join_group', 3625 3626 'component' => 'groups', … … 3630 3631 'link_href' => wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'join' ), 'groups_join_group' ), 3631 3632 'link_text' => __( 'Join Group', 'buddypress' ), 3633 'link_title' => __( 'Join Group', 'buddypress' ), 3632 3634 'link_class' => 'group-button join-group', 3633 3635 ); … … 3639 3641 // show an "Accept Invitation" button. 3640 3642 if ( $group->is_invited ) { 3641 $button = array(3643 $button_args = array( 3642 3644 'id' => 'accept_invite', 3643 3645 'component' => 'groups', … … 3648 3650 'link_href' => add_query_arg( 'redirect_to', bp_get_group_permalink( $group ), bp_get_group_accept_invite_link( $group ) ), 3649 3651 'link_text' => __( 'Accept Invitation', 'buddypress' ), 3652 'link_title' => __( 'Accept Invitation', 'buddypress' ), 3650 3653 'link_class' => 'group-button accept-invite', 3651 3654 ); … … 3654 3657 // show a "Request Sent" button. 3655 3658 } elseif ( $group->is_pending ) { 3656 $button = array(3659 $button_args = array( 3657 3660 'id' => 'membership_requested', 3658 3661 'component' => 'groups', … … 3663 3666 'link_href' => bp_get_group_permalink( $group ), 3664 3667 'link_text' => __( 'Request Sent', 'buddypress' ), 3668 'link_title' => __( 'Request Sent', 'buddypress' ), 3665 3669 'link_class' => 'group-button pending membership-requested', 3666 3670 ); … … 3669 3673 // show a "Request Membership" button. 3670 3674 } else { 3671 $button = array(3675 $button_args = array( 3672 3676 'id' => 'request_membership', 3673 3677 'component' => 'groups', … … 3678 3682 'link_href' => wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'request-membership' ), 'groups_request_membership' ), 3679 3683 'link_text' => __( 'Request Membership', 'buddypress' ), 3684 'link_title' => __( 'Request Membership', 'buddypress' ), 3680 3685 'link_class' => 'group-button request-membership', 3681 3686 ); … … 3687 3692 3688 3693 /** 3689 * Filters the HTMLbutton for joining a group.3694 * Filters the arguments of the button for joining a group. 3690 3695 * 3691 3696 * @since 1.2.6 3692 3697 * @since 2.4.0 Added $group parameter to filter args. 3693 3698 * 3694 * @param string $button HTML button for joining a group. 3695 * @param object $group BuddyPress group object 3696 */ 3697 return bp_get_button( apply_filters( 'bp_get_group_join_button', $button, $group ) ); 3699 * @param array $button_args The arguments for the button. 3700 * @param object $group BuddyPress group object 3701 */ 3702 return apply_filters( 'bp_get_group_join_button', $button_args, $group ); 3703 } 3704 /** 3705 * Return button to join a group. 3706 * 3707 * @since 1.0.0 3708 * @since 11.0.0 uses `bp_groups_get_group_join_button_args()`. 3709 * 3710 * @param object|bool $group Single group object. 3711 * @return false|string 3712 */ 3713 function bp_get_group_join_button( $group = false ) { 3714 global $groups_template; 3715 3716 // Set group to current loop group if none passed. 3717 if ( empty( $group ) ) { 3718 $group =& $groups_template->group; 3719 } 3720 3721 $button_args = bp_groups_get_group_join_button_args( $group ); 3722 3723 if ( ! array_filter( $button_args ) ) { 3724 return false; 3725 } 3726 3727 return bp_get_button( $button_args ); 3698 3728 } 3699 3729
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)