Loading CHANGELOG.md +4 −0 Original line number Diff line number Diff line CHANGELOG ========= 6.0.7 ----- - Redirection des mails vers 'CURRENT_USER' (utilisateur connecté) : en cas d'usurpation, l'utilisateur ciblé est l'usurpateur. 6.0.6 ----- - [FIX] La redirection des mails vers 'CURRENT_USER' (utilisateur connecté) ne fonctionnait pas si aucun utilisateur n'était connecté ! Loading src/UnicaenAuth/Service/Mailer/MailerServiceFactory.php +8 −2 Original line number Diff line number Diff line Loading @@ -42,11 +42,17 @@ class MailerServiceFactory extends \UnicaenApp\Service\Mailer\MailerServiceFacto return; } // déterminaiton de l'utilisateur authentifié /** @var \UnicaenAuth\Service\UserContext $userContext */ $userContext = $container->get(UserContext::class); if ($userContext->isUsurpationEnCours()) { $user = $userContext->getUsurpateurEnCours(); } else { $user = $userContext->getDbUser(); if ($user !== null) { } // si un utilisateur est authentifié, on ajoute son adresse mail (si pas déjà présente) if ($user !== null) { if (!in_array($email = $user->getEmail(), $redirectTo) && !array_key_exists($email, $redirectTo)) { $redirectTo[$email] = $user->getDisplayName(); } Loading src/UnicaenAuth/Service/UserContext.php +16 −0 Original line number Diff line number Diff line Loading @@ -475,6 +475,22 @@ class UserContext extends AbstractService implements EventManagerAwareInterface return isset($currentIdentity['usurpation']); } /** * Si une usurpation est en cours, retourne l'usurpateur. * * @throws \BadMethodCallException Si aucune usurpation n'est en cours */ public function getUsurpateurEnCours(): AbstractUser { if (! $this->isUsurpationEnCours()) { throw new \BadMethodCallException("Il faut qu'une usurpation soit en cours pour pouvoir obtenir l'usurpateur !"); } $currentIdentityArray = $this->getIdentity(); return Usurpation::extractUsurpateurFromIdentityArray($currentIdentityArray); } /** * Usurpe l'identité d'un autre utilisateur. * @param string $usernameUsurpe Loading Loading
CHANGELOG.md +4 −0 Original line number Diff line number Diff line CHANGELOG ========= 6.0.7 ----- - Redirection des mails vers 'CURRENT_USER' (utilisateur connecté) : en cas d'usurpation, l'utilisateur ciblé est l'usurpateur. 6.0.6 ----- - [FIX] La redirection des mails vers 'CURRENT_USER' (utilisateur connecté) ne fonctionnait pas si aucun utilisateur n'était connecté ! Loading
src/UnicaenAuth/Service/Mailer/MailerServiceFactory.php +8 −2 Original line number Diff line number Diff line Loading @@ -42,11 +42,17 @@ class MailerServiceFactory extends \UnicaenApp\Service\Mailer\MailerServiceFacto return; } // déterminaiton de l'utilisateur authentifié /** @var \UnicaenAuth\Service\UserContext $userContext */ $userContext = $container->get(UserContext::class); if ($userContext->isUsurpationEnCours()) { $user = $userContext->getUsurpateurEnCours(); } else { $user = $userContext->getDbUser(); if ($user !== null) { } // si un utilisateur est authentifié, on ajoute son adresse mail (si pas déjà présente) if ($user !== null) { if (!in_array($email = $user->getEmail(), $redirectTo) && !array_key_exists($email, $redirectTo)) { $redirectTo[$email] = $user->getDisplayName(); } Loading
src/UnicaenAuth/Service/UserContext.php +16 −0 Original line number Diff line number Diff line Loading @@ -475,6 +475,22 @@ class UserContext extends AbstractService implements EventManagerAwareInterface return isset($currentIdentity['usurpation']); } /** * Si une usurpation est en cours, retourne l'usurpateur. * * @throws \BadMethodCallException Si aucune usurpation n'est en cours */ public function getUsurpateurEnCours(): AbstractUser { if (! $this->isUsurpationEnCours()) { throw new \BadMethodCallException("Il faut qu'une usurpation soit en cours pour pouvoir obtenir l'usurpateur !"); } $currentIdentityArray = $this->getIdentity(); return Usurpation::extractUsurpateurFromIdentityArray($currentIdentityArray); } /** * Usurpe l'identité d'un autre utilisateur. * @param string $usernameUsurpe Loading