<?php
namespace App\Service;
use App\Entity\BaseUser;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FormEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Doctrine\ORM\EntityManagerInterface;
class PasswordResetSubscriber implements EventSubscriberInterface
{
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public static function getSubscribedEvents(): array
{
return [
FOSUserEvents::RESETTING_RESET_SUCCESS => 'onPasswordResetSuccess',
];
}
public function onPasswordResetSuccess(FormEvent $event)
{
$user = $event->getForm()->getData();
$user->setPasswordUpdatedAt(new \DateTime());
$this->em->persist($user);
$this->em->flush();
}
}