Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/30/2019 06:53:15 PM (5 years ago)
Author:
dcavins
Message:

Fix incorrect parameter key in groups_get_invites() call.

BP_Invitation::get() accepts an id parameter, but I was passing a misnamed ids parameter to the function in the cache-building routine within bp_get_user_groups(), resulting in all invitations being returned.

This changeset corrects the misnamed key and also skips the fetch-and-cache routine if no uncached items are found.

Props boonebgorges.

Fixes #8149.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-groups/bp-groups-functions.php

    r12446 r12487  
    981981        // Prime the invitations cache.
    982982        $uncached_invitation_ids = bp_get_non_cached_ids( $invitation_ids, 'bp_groups_invitations_as_memberships' );
    983 
    984         $uncached_invitations = groups_get_invites( array(
    985             'ids'         => $uncached_invitation_ids,
    986             'invite_sent' => 'all',
    987             'type'        => 'all'
    988         ) );
    989         foreach ( $uncached_invitations as $uncached_invitation ) {
    990             // Reshape the result as a membership db entry.
    991             $invitation = new StdClass;
    992             $invitation->id            = $uncached_invitation->id;
    993             $invitation->group_id      = $uncached_invitation->item_id;
    994             $invitation->user_id       = $uncached_invitation->user_id;
    995             $invitation->inviter_id    = $uncached_invitation->inviter_id;
    996             $invitation->is_admin      = false;
    997             $invitation->is_mod        = false;
    998             $invitation->user_title    = '';
    999             $invitation->date_modified = $uncached_invitation->date_modified;
    1000             $invitation->comments      = $uncached_invitation->content;
    1001             $invitation->is_confirmed  = false;
    1002             $invitation->is_banned     = false;
    1003             $invitation->invite_sent   = $uncached_invitation->invite_sent;
    1004             wp_cache_set( $uncached_invitation->id, $invitation, 'bp_groups_invitations_as_memberships' );
     983        if ( $uncached_invitation_ids ) {
     984            $uncached_invitations = groups_get_invites( array(
     985                'id'          => $uncached_invitation_ids,
     986                'invite_sent' => 'all',
     987                'type'        => 'all'
     988            ) );
     989            foreach ( $uncached_invitations as $uncached_invitation ) {
     990                // Reshape the result as a membership db entry.
     991                $invitation = new StdClass;
     992                $invitation->id            = $uncached_invitation->id;
     993                $invitation->group_id      = $uncached_invitation->item_id;
     994                $invitation->user_id       = $uncached_invitation->user_id;
     995                $invitation->inviter_id    = $uncached_invitation->inviter_id;
     996                $invitation->is_admin      = false;
     997                $invitation->is_mod        = false;
     998                $invitation->user_title    = '';
     999                $invitation->date_modified = $uncached_invitation->date_modified;
     1000                $invitation->comments      = $uncached_invitation->content;
     1001                $invitation->is_confirmed  = false;
     1002                $invitation->is_banned     = false;
     1003                $invitation->invite_sent   = $uncached_invitation->invite_sent;
     1004                wp_cache_set( $uncached_invitation->id, $invitation, 'bp_groups_invitations_as_memberships' );
     1005            }
    10051006        }
    1006 
    1007     }
    1008 
     1007    }
    10091008
    10101009    // Assemble filter array for use in `wp_list_filter()`.
Note: See TracChangeset for help on using the changeset viewer.