Index: og_user_roles.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/og_user_roles/og_user_roles.module,v retrieving revision 1.36 diff -u -p -r1.36 og_user_roles.module --- og_user_roles.module 8 Jun 2009 12:57:47 -0000 1.36 +++ og_user_roles.module 6 Jul 2009 18:30:02 -0000 @@ -417,16 +417,20 @@ function og_user_roles_get_roles_by_grou * The user ID. * @param $rid * The role ID to grant. + * @param $args + * An array containing values set by other modules that are passed to hook_og implementations. */ -function og_user_roles_role_add($gid, $uid, $rid) { +function og_user_roles_role_add($gid, $uid, $rid, $args = array()) { $granted = db_result(db_query_range("SELECT rid FROM {og_users_roles} WHERE gid = %d AND uid = %d AND rid = %d", $gid, $uid, $rid, 0, 1)); if (!$granted) { db_query("INSERT INTO {og_users_roles} (uid, gid, rid) VALUES (%d, %d, %d)", $uid, $gid, $rid); + $args['rid'] = $rid; + module_invoke_all('og', 'user role add', $gid, $uid, $args); } } /** - * Grant a role or all roles for a user in a group. + * Remove a role or all roles for a user in a group. * * @param $gid * The group ID. @@ -434,13 +438,17 @@ function og_user_roles_role_add($gid, $u * The user ID. * @param $rid * (Optional) The role ID to remove. If omitted, all roles are removed. + * @param $args + * An array containing values set by other modules that are passed to hook_og implementations. */ -function og_user_roles_role_delete($gid, $uid, $rid = NULL) { +function og_user_roles_role_delete($gid, $uid, $rid = NULL, $args = array()) { if (is_null($rid)) { db_query("DELETE FROM {og_users_roles} WHERE gid = %d AND uid = %d", $gid, $uid); } else { db_query("DELETE FROM {og_users_roles} WHERE gid = %d AND uid = %d AND rid = %d", $gid, $uid, $rid); } + $args['rid'] = $rid; + module_invoke_all('og', 'user role delete', $gid, $uid, $args); }