Skip to:
Content

BuddyPress.org

Changeset 12408


Ignore:
Timestamp:
07/23/2019 04:12:32 AM (7 years ago)
Author:
imath
Message:

Respect user preferences about friends restriction group invites

NB: This is specific to BP Nouveau.

(4.0 branch)

Location:
branches/4.0/src/bp-templates/bp-nouveau/includes/groups
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/4.0/src/bp-templates/bp-nouveau/includes/groups/ajax.php

    r12386 r12408  
    44 *
    55 * @since 3.0.0
    6  * @version 3.1.0
     6 * @version 4.4.0
    77 */
    88
     
    385385
    386386    // For feedback
    387     $invited = array();
     387    $invited           = array();
     388    $is_friends_active = bp_is_active( 'friends' );
    388389
    389390    foreach ( (array) $_POST['users'] as $user_id ) {
    390         $invited[ (int) $user_id ] = groups_invite_user(
    391             array(
    392                 'user_id'  => $user_id,
    393                 'group_id' => $group_id,
    394             )
    395         );
     391        $user_id = (int) $user_id;
     392
     393        if ( $is_friends_active && bp_nouveau_groups_get_group_invites_setting( $user_id ) && 'is_friend' !== BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $user_id ) ) {
     394            continue;
     395        } else {
     396            $invited[ $user_id ] = groups_invite_user(
     397                array(
     398                    'user_id'  => $user_id,
     399                    'group_id' => $group_id,
     400                )
     401            );
     402        }
     403    }
     404
     405    if ( ! $invited ) {
     406        wp_send_json_error( $response );
    396407    }
    397408
  • branches/4.0/src/bp-templates/bp-nouveau/includes/groups/template-tags.php

    r12290 r12408  
    44 *
    55 * @since 3.0.0
    6  * @version 3.2.0
     6 * @version 4.4.0
    77 */
    88
     
    193193 *
    194194 * @since 3.0.0
    195  *
    196  * @return int Returns 1 if user chose to restrict to friends, 0 otherwise.
    197  */
    198 function bp_nouveau_groups_get_group_invites_setting() {
    199     return (int) bp_get_user_meta( bp_displayed_user_id(), '_bp_nouveau_restrict_invites_to_friends' );
     195 * @since 4.4.0
     196 *
     197 * @param  int $user_id The user ID to check group invites preference for.
     198 * @return int          Returns 1 if user chose to restrict to friends, 0 otherwise.
     199 */
     200function bp_nouveau_groups_get_group_invites_setting( $user_id = 0 ) {
     201    if ( ! $user_id ) {
     202        $user_id = bp_displayed_user_id();
     203    }
     204
     205    return (int) bp_get_user_meta( $user_id, '_bp_nouveau_restrict_invites_to_friends' );
    200206}
    201207
Note: See TracChangeset for help on using the changeset viewer.