diff --git a/wp-content/plugins/bp-custom.php b/wp-content/plugins/bp-custom.php index 0a41ce0..606e6ce 100644 --- a/wp-content/plugins/bp-custom.php +++ b/wp-content/plugins/bp-custom.php @@ -860,6 +860,59 @@ function cac_convert_subscriptions() { } //add_action( 'admin_head', 'cac_convert_subscriptions' ); +function cac_convert_subscriptions_2() { + global $wpdb, $bp + ; + // Get a list of all group ids + $gs_sql = $wpdb->prepare( "SELECT DISTINCT id, name FROM {$bp->groups->table_name}" ); + $gs = $wpdb->get_results( $gs_sql ); + + $c = 0; + + $already_handled = array(); + + // We'll handle one group at a time + foreach( $gs as $g ) { + if ( in_array( $g->id, $already_handled ) ) + continue; + + + $ms_sql = $wpdb->prepare( "SELECT DISTINCT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %s", $g->id ); + $ms = $wpdb->get_results( $ms_sql ); + + // Format the member list + $member_ids = array(); + foreach( $ms as $m ) { + $member_ids[] = $m->user_id; + } + + // get the sub list + $subs = groups_get_groupmeta( $g->id, 'ass_subscribed_users' ); + + foreach( $subs as $mid => $status ) { + + if ( !in_array( $mid, $member_ids ) ) { + echo '
' . '
' . $g->name . '
'; + + echo 'User ' . $mid . ' is not in the group but is subscribed
'; + + unset( $subs[$mid] ); + } + + groups_update_groupmeta( $g->id, 'ass_subscribed_users', $subs ); + } + + unset ( $ms ); + //print_r( $subs ); + + //print_r( $member_ids ); + + } + + +} +//add_action( 'admin_head', 'cac_convert_subscriptions_2' ); + // Fixes http://redmine.gc.cuny.edu/issues/show/353 function cac_default_group_email_setting( $setting ) { return 'supersub';