Purging old data
Neeed to check the `insidelaw`.`banner`.`admin` `item`='last_update_201508' and delete users/classes/etc that have were last updated before that time.
Classes (ref: for 201505, `insidelaw`.`banner`.`class` `id`='12221' is a cancelled class, last updated on May 1.)
Students: (ref: all `insidelaw`.`banner`.`class_rolls` where `semester`='201505' and `updated` < 2015-05-20)
Faculty Support
Adding faculty support to every class would be awkward and does not seem necessary. Right now, there is a "back door" way for people assigned the role "Faculty Support" to post docs, but they cannot send mass emails. The key may be to alter the function of "groups_is_user_mod" function, but further research is needed.
Bug making admins programatically
Discovered bug that using the below does not work - if the user "is_admin" already, this save will clear the "is_admin" flag. Ended up writing directly to table, bypassing the BP API.
$bp_member->group_id = $bp_group_id; $bp_member->user_id = $user_id; $bp_member = new BP_Groups_Member; $bp_member->is_admin = 1; $saved = $bp_member->save();
From https://buddypress.org/support/topic/resolved-programmatically-creating-a-group/
function create_a_group() { $new_group = new BP_Groups_Group; $new_group->creator_id = 1; $new_group->name = ‘test’; $new_group->slug = ‘test’; $new_group->description = ‘nothing’;$new_group->news = ‘whatever’;$new_group->status = ‘public’;$new_group->is_invitation_only = 1; $new_group->enable_wire = 1; $new_group->enable_forum = 1; $new_group->enable_photos = 1; $new_group->photos_admin_only = 1;$new_group->date_created = current_time(‘mysql’); $new_group->total_member_count = 1;$new_group->avatar_thumb = ‘some kind of path’; $new_group->avatar_full = ‘some kind of path’;$saved = $new_group -> save(); if ( $saved ) { $id = $new_group->id; groups_update_groupmeta( $id, 'total_member_count', 1 ); groups_update_groupmeta( $id, 'last_activity', time() ); groups_update_groupmeta( $id, 'theme’, ‘buddypress' ); groups_update_groupmeta( $id, 'stylesheet’, ‘buddypress' ); } else { return false; }
The struck-thru about are obsolete.
Adding BP users: When you register a user that way, they will not show up in BuddyPress’ members directory until they login.
You can bypass this programatically by adding a ‘last_activity’ user meta entry.
function make_user_active( $user_id ) { bp_update_user_last_activity( $user_id ); } add_action ('user_register', 'make_user_active', 1, 11);
For Groups (1L, 2L, 3L etc.):
Groups_User_Group::create( array( 'user_id' => $user_id, 'group_id' => $group_id ) );
After digging in the source a little, I am guessing that this is the way to remove:
Groups_User_Group::delete ( $user_id, $group_id ) );