User bzw hook_user

am 24.02.2009 - 11:33 Uhr in
Ich habe folgendes vor, unzwar möchte ich User erstellen die unter etwas andere Eingabemaske erstellt werden. Dieses habe ich schon fertig und klapt auch ganz gut.
Unzwar wird bei mir das Feld Name per form_alter auf hidden gesetzt. Dieses mache ich da ich vom Script den Namen erstellen lasse.
Der Name ist eine Kundennummer, sprich 1001,1002....
Wenn ich jetzt einen User erstelle, möchte ich die letzt höchste Zahl auslesen und den neuen Namen generieren z.B:1003.
Mein Problem ist jetzt: Wie fange ich die Daten ab bevor sie beim Insert in die user Tabelle eingetragen werden.
hook_user-->insert, funktioniert nicht, da es erst wirkt wenn die Daten schon in der tabelle eingetragen sind.
hook_user-->submit, funktioniert erstmals beim Update des Userprofils.
Hab da zur Zeit keine Rat.
- Anmelden oder Registrieren um Kommentare zu schreiben
User bzw hook_user
am 26.02.2009 - 01:04 Uhr
Hi,
was genau möchtest du wann abfangen bzw. bei welchem Vorgang. Durch ein Post oder durch was? Falls es hilft kannst du unter http://php.net (sofern die Daten als Array übergeben werden, was bei Drupal immer der Fall ist) mit Array Funktionen arbeiten. Link: http://de2.php.net/manual/de/ref.array.php
Ansonsten noch mal nähere Infos.
rules
am 26.02.2009 - 08:24 Uhr
Moin!
Mit rules kannst Du diese Art der Modifikationen vornehmen.
Du erstellst dazu einfach eine neue Regel für das Ereignis "User account has been created" und fügst dann eine Aktion "Execute custom PHP code" hinzu. Dort hast Du dann über die Variable
$account
Zugriff auf den soeben erstellten Benutzer und kannst die berechneten Daten mituser_save($account, array('field_kdnnr' => 'berechneterWert'))
speichern.
hth,
Stefan
Hab es per hook_user ->
am 27.02.2009 - 21:58 Uhr
Hab es per hook_user -> validate geschaft vorm Speichern die Daten zu modifizieren.