/
home
/
obinna
/
html
/
mixchief_app
/
vendor
/
symfony
/
maker-bundle
/
src
/
Resources
/
skeleton
/
verifyEmail
/
Upload File
HOME
<?= "<?php\n" ?> namespace <?= $namespace; ?>; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Security\Core\User\UserInterface; use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface; use SymfonyCasts\Bundle\VerifyEmail\VerifyEmailHelperInterface; class <?= $class_name; ?><?= "\n" ?> { private $verifyEmailHelper; private $mailer; private $entityManager; public function __construct(VerifyEmailHelperInterface $helper, MailerInterface $mailer, EntityManagerInterface $manager) { $this->verifyEmailHelper = $helper; $this->mailer = $mailer; $this->entityManager = $manager; } public function sendEmailConfirmation(string $verifyEmailRouteName, UserInterface $user, TemplatedEmail $email): void { $signatureComponents = $this->verifyEmailHelper->generateSignature( $verifyEmailRouteName, $user-><?= $id_getter ?>(), <?php if ($verify_email_anonymously): ?> $user-><?= $email_getter ?>(), ['id' => $user->getId()] <?php else: ?> $user-><?= $email_getter ?>() <?php endif; ?> ); $context = $email->getContext(); $context['signedUrl'] = $signatureComponents->getSignedUrl(); $context['expiresAtMessageKey'] = $signatureComponents->getExpirationMessageKey(); $context['expiresAtMessageData'] = $signatureComponents->getExpirationMessageData(); $email->context($context); $this->mailer->send($email); } /** * @throws VerifyEmailExceptionInterface */ public function handleEmailConfirmation(Request $request, UserInterface $user): void { $this->verifyEmailHelper->validateEmailConfirmation($request->getUri(), $user-><?= $id_getter ?>(), $user-><?= $email_getter?>()); $user->setIsVerified(true); $this->entityManager->persist($user); $this->entityManager->flush(); } }