Submitted by dubitoph on
Bonjour,
Je cherche à récupérer l'uid d'un utilisateur qui vient de créer un nouveau compte. L'uid de ce dernier ne se retrouve pas dans l'objet global 'user'. Du fait que l'UID de la table 'users' n'est pas en autoincrément, je ne peux pas utiliser un LAST_INSERT_ID().
A l'heure actuelle, au niveau du formulaire 'user-register-form', je fais une redirection vers la création d'un contenu. Dans le hook_from_alter de ce dernier, je récupère l'uid de l'utilisateur dont le champ 'CREATED' est égal au 'timestamp' de l'objet global user :
global $user;
if($user->roles[1] == 'anonymous user')
{
$result = db_query('SELECT u.uid FROM {users} u WHERE u.created = :timestamp', array(':timestamp' => $user->timestamp));
$_SESSION['uidUtilisateur'] = $result->fetchColumn(0);
}
Cependant, je crains que deux (ou plusieurs) utilisateurs puissent être créés dans un même timestamp. D'ailleurs, ce champ n'est pas déclaré comme étant unique dans la table users.
Quelqu'un aurait une idée sur la manière de récupérer avec certitude l'uid de l'utilisateur qui vient de créer un compte?
Merci d'avance