Are you familiar with autoassignrole? It's a pretty capable module and may be useful for you.
In D6, you can use hook_user() and modify the roles at insert time, if you want to do it yourself. -Randy On Fri, Feb 26, 2010 at 2:49 PM, Steve Edwards <[email protected]> wrote: > I took over a site that uses a custom registration form that directly calls > user_register_submit directly, and I need to have a user role added to this > user when this form is submitted. However, I can't add the value to > $form_state['values']['roles'] because the function errors out if there is a > roles array because it is seen as a 'malicious attempt to alter protected > user fields.' Since that function then calls user_save, it seems that once > the user is saved, I need to 1) load the user I just created, 2) add the > role to the object, and 3) save it again. However, in order to call > user_load, I need the uid, which isn't returned from user_register_submit. > The only logical thing I can think to do is query the users table with the > user name I just created (entered as part of the form), get the rid, and > then call user_load and do my thing. > > Is there a better (and easier) way to do this that I'm missing, or am I on > the right track? > > Thanks. > > Steve -- Randy Fay Drupal Development, troubleshooting, and debugging [email protected] +1 970.462.7450
