Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/30/2019 06:52:45 PM (7 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
  • branches/5.0/src/bp-groups/bp-groups-functions.php

    r12446 r12486  
    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.