--- role_delegation.module 2008-06-12 01:00:35.000000000 -0300 +++ /home/rfay/hobowa/drup6/sites/all/modules/role_delegation/role_delegation.module 2008-12-01 10:47:57.765625000 -0300 @@ -98,10 +98,13 @@ function role_delegation_roles_form(&$fo */ function role_delegation_roles_form_submit($form, &$form_state) { if (is_array($form_state['values']['roles']) && isset($form_state['values']['account']->uid)) { - db_query('DELETE FROM {users_roles} WHERE uid = %d', $form_state['values']['account']->uid); + $account = user_load(array('uid' => (int)$form_state['values']['account']->uid)); + $myroles = array(); + $rolenames = user_roles(TRUE); foreach (array_keys(array_filter($form_state['values']['roles'])) as $rid) { - db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $form_state['values']['account']->uid, $rid); + $myroles[$rid] = $rolenames[$rid]; } + user_save($account, array('roles' => $myroles)); // Delete the user's menu cache. cache_clear_all($form_state['values']['account']->uid .':', 'cache_menu', TRUE);