function og_role_watchdog_og_membership_insert in Role Watchdog 7.2
Same name and namespace in other branches
- 7 modules/og_role_watchdog/og_role_watchdog.module \og_role_watchdog_og_membership_insert()
Implements hook_og_membership_insert().
File
- modules/
og_role_watchdog/ og_role_watchdog.module, line 112 - Logs changes to user roles.
Code
function og_role_watchdog_og_membership_insert($membership) {
if ($membership->entity_type == 'user') {
$account = user_load($membership->etid);
$group = entity_load_single($membership->group_type, $membership->gid);
$roles = array_flip(og_roles($membership->group_type, $group->type, $membership->gid));
// Authenticated role ID.
$rid = $roles[OG_AUTHENTICATED_ROLE];
if ($membership->state == OG_STATE_BLOCKED) {
// We just added a user who is not a member of the group and immediately blocked them.
// We will log this as "non-member blocked".
$rid = $roles[OG_ANONYMOUS_ROLE];
_og_role_watchdog_add_role($rid, $account, $membership->gid, ROLE_WATCHDOG_ROLE_BLOCKED);
}
elseif ($membership->state == OG_STATE_ACTIVE) {
_og_role_watchdog_add_role($rid, $account, $membership->gid, ROLE_WATCHDOG_ROLE_ADD);
}
else {
_og_role_watchdog_add_role($rid, $account, $membership->gid, ROLE_WATCHDOG_ROLE_REQUEST);
}
}
}