hook_user - automatisch weitere Rolle hinzufügen

hook_user - Rolle automatisch hinzufügen

Der hook_user bietet die Möglichkeit auf verschiedene auf einem Benutzerkonto ausgeführte Operationen Einfluss zu nehmen.
Die einzelnen Parameter werden auf der Drupal-API Seite beschrieben: hook_user($op, &$edit, &$account, $category = NULL)

Die Ausgangssituation:
- über den hook_theme geändertes Registierungsformular
- Nutzung des profile Moduls für zusätzliche Felder ( DropDowns + Textfelder) während der Registrierung zur Verfügung zu stellen

Auf Grundlage der gefüllten Felder (Dropdowns) soll dem Nutzer eine bestimmte Rolle hinzugefügt werden. Laut API Beschreibung wird hierzu
die $op insert verwendet ( hier kann man aus dem Objekt $account ( nicht $user ! ) die Werte des gerade angelegten Accounts auslesen und verändern.
So viel zur Theorie - mein Versuch in diesem Step eine weitere Benutzerrolle zuzufügen schlug leider fehl.

<?php
function testmodule_user($op, &$edit, &$account, $category = NULL) {
  switch (
$op) {
    case
'insert':
    
// Validierung etc ..
    
$new_roles = array('3' => 'editor'); // neue Rolle für den Nutzer
    
user_save($account, array('roles' => $new_roles));
    break;
  }
}
?>

Der Nutzer wird in diesem Fall natürlich angelegt - nur die Rolle nicht - folgendes Posting brachte dann auch die Antwort.
Ich habe mir dann einmal den Code des Moduls autoassignrole genauer angeschaut - hier wird nicht das Objekt $account aus dem hook_user, sondern das Objekt $edit für das Hinzufügen der neuen Benutzerrollen genutzt.
Dies führte dann auch zun gewünschten Ergebnis ( neben der Rolle kann man hier natürlich noch weitere Werte des aktuell angelegten Benutzers ändern )
<?php
function testmodule_user($op, &$edit, &$account, $category = NULL) {
  switch (
$op) {
    case
'insert':
    
// Validierung etc ..
    
$edit['roles'][3] = 'editor';
    break;
  }
}
?>

Hatte ca. 2 Stunden das

Hatte ca. 2 Stunden das gleiche Probiert. Die Doku ist an dieser Stelle fehlerhaft. Danke so rennt es nun.