bp_groups_migrate_invitations()
Migrate invitations and requests from pre-5.0 group_members table to invitations table.
Description
Source
File: bp-groups/bp-groups-functions.php
function bp_groups_migrate_invitations() { global $wpdb; $bp = buddypress(); $records = $wpdb->get_results( "SELECT id, group_id, user_id, inviter_id, date_modified, comments, invite_sent FROM {$bp->groups->table_name_members} WHERE is_confirmed = 0 AND is_banned = 0" ); if ( empty( $records ) ) { return; } $processed = array(); $values = array(); foreach ( $records as $record ) { $values[] = $wpdb->prepare( "(%d, %d, %s, %s, %d, %d, %s, %s, %s, %d, %d)", (int) $record->user_id, (int) $record->inviter_id, '', 'bp_groups_invitation_manager', (int) $record->group_id, 0, ( 0 === (int) $record->inviter_id ) ? 'request' : 'invite', $record->comments, $record->date_modified, (int) $record->invite_sent, 0 ); $processed[] = (int) $record->id; } $table_name = BP_Invitation_Manager::get_table_name(); $query = "INSERT INTO {$table_name} (user_id, inviter_id, invitee_email, class, item_id, secondary_item_id, type, content, date_modified, invite_sent, accepted) VALUES "; $query .= implode(', ', $values ); $query .= ';'; $wpdb->query( $query ); $ids_to_delete = implode( ',', $processed ); if ( $ids_to_delete ) { $wpdb->query( "DELETE FROM {$bp->groups->table_name_members} WHERE ID IN ($ids_to_delete)" ); } }
Changelog
Version | Description |
---|---|
BuddyPress 5.0.0 | BuddyPress 5.0.0 |
BuddyBoss 1.3.5 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.