function og_role_watchdog_og_membership_insert in Role Watchdog 7
Same name and namespace in other branches
- 7.2 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 111 - Logs changes to user roles.
Code
function og_role_watchdog_og_membership_insert($membership) {
if ($membership->entity_type == 'user') {
$account = user_load($membership->etid);
$roles = array_flip(og_get_global_roles());
// 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);
}
}
}