use Drupal\user\Entity\User; use Symfony\Component\HttpFoundation\Session\SessionInterface; /** * Implémentation du hook_user_insert() pour stocker le rôle après l'inscription. */ function melchior_event_registration_ga_user_insert(User $account) { $session = \Drupal::service('session'); $logger = \Drupal::service('logger.factory')->get('melchior_event_registration_ga'); // Récupérer les rôles de l'utilisateur $roles = $account->getRoles(); $roles = array_diff($roles, ['authenticated', 'anonymous']); // Log pour voir si la fonction est bien appelée $logger->notice('Hook user_insert() appelé pour : @uid, rôles : @roles', [ '@uid' => $account->id(), '@roles' => implode(', ', $roles) ]); // Stocker le rôle en session if (!empty($roles)) { $session->set('user_registration_success', TRUE); $session->set('user_registration_role', reset($roles)); // Prend le premier rôle attribué } }