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.