Index: og_user_roles.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/og_user_roles/og_user_roles.module,v retrieving revision 1.42 diff -u -p -r1.42 og_user_roles.module --- og_user_roles.module 14 Aug 2009 15:55:38 -0000 1.42 +++ og_user_roles.module 25 Oct 2009 13:54:55 -0000 @@ -346,6 +346,24 @@ function og_user_roles_grant_roles(&$acc // afterwards. $account->roles[$role->rid] = $role->name; } + + // adhoc role assignment + // Add default role for new group members, if configured. + if ($default_role = variable_get('og_user_roles_default_role', 0) + && !isset($account->roles[$default_role])) { + $default_role_name = db_fetch_array(db_query('SELECT name FROM {role} WHERE rid = %d', $default_role)); + $account->roles[$default_role] = $default_role_name; + } + // Add default role for new group admins, if configured. + if ($default_admin_role = variable_get('og_user_roles_default_admin_role', 0) + && !isset($account->roles[$default_admin_role])) { + if(og_is_group_admin($group_node, $account) + && $default_admin_role != $default_role) { + $default_admin_role_name = db_fetch_array(db_query('SELECT name FROM {role} WHERE rid = %d', $default_admin_role)); + $account->roles[$default_admin_role] = $default_admin_role_name; + } + } + $roles = $account->roles; } else {