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é
}
}
Recherche avancée | Melchior
Aller au contenu principal