Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/14/2017 01:24:01 PM (9 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.