Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/14/2017 01:24:01 PM (7 years ago)
Author:
dcavins
Message:

Use bp_user_can for group-related permissions.

Centralize and de-duplicate permissions checks for group-related functions, like checking whether a user can join a group or send invitations from a group.

Props dcavins, djpaul.

Fixes #7610.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-templates/bp-legacy/buddypress-functions.php

    r11773 r11776  
    14931493
    14941494    if ( ! groups_is_user_member( bp_loggedin_user_id(), $group->id ) ) {
    1495         if ( 'public' == $group->status ) {
     1495        if ( bp_current_user_can( 'groups_join_group', array( 'group_id' => $group->id ) ) ) {
    14961496            check_ajax_referer( 'groups_join_group' );
    14971497
     
    15021502            }
    15031503
    1504         } elseif ( 'private' == $group->status ) {
     1504        } elseif ( bp_current_user_can( 'groups_request_membership', array( 'group_id' => $group->id ) ) ) {
    15051505
    15061506            // If the user has already been invited, then this is
     
    15321532        if ( ! groups_leave_group( $group->id ) ) {
    15331533            _e( 'Error leaving group', 'buddypress' );
    1534         } elseif ( 'public' == $group->status ) {
     1534        } elseif ( bp_current_user_can( 'groups_join_group', array( 'group_id' => $group->id ) ) ) {
    15351535            echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button join-group" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'join', 'groups_join_group' ) . '">' . __( 'Join Group', 'buddypress' ) . '</a>';
    1536         } elseif ( 'private' == $group->status ) {
     1536        } elseif ( bp_current_user_can( 'groups_request_membership', array( 'group_id' => $group->id ) ) ) {
    15371537            echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button request-membership" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'request-membership', 'groups_request_membership' ) . '">' . __( 'Request Membership', 'buddypress' ) . '</a>';
    15381538        }
Note: See TracChangeset for help on using the changeset viewer.