Skip to content

Instantly share code, notes, and snippets.

@bappi-d-great
Created July 9, 2015 09:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bappi-d-great/192cb5bde0be4d9f9164 to your computer and use it in GitHub Desktop.
Save bappi-d-great/192cb5bde0be4d9f9164 to your computer and use it in GitHub Desktop.
Auto add member based on user email domain to a BP group and a Membership on registration
<?php
add_action( 'user_register', 'assign_membership_on_register', 10, 1 );
function assign_membership_on_register( $user_id ){
$user_info = get_userdata( $user_id );
$email = $user_info->user_email;
// Here school1, school2 are the email domains, ms_id is membership id and bp_id is the group id
$data = array(
'school1' => array(
'ms_id' => 1343,
'bp_id' => 5
),
'school2' => array(
'ms_id' => 2973,
'bp_id' => 6
)
);
$output = getBetween( $email, '@', '.' );
groups_accept_invite( $user_id, $data[$output]['bp_id'] );
$member = MS_Factory::load( 'MS_Model_Member', $user_id );
$subscription = $member->add_membership( $data[$output]['ms_id'] );
if ( $member->has_membership() ) {
$member->is_member = true;
} else {
$member->is_member = false;
}
$member->save();
}
function getBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment