Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace AppBundle\Controller;
- use AppBundle\Entity\User;
- use AppBundle\Form\UserType;
- use Swift_Mailer;
- use Symfony\Bundle\FrameworkBundle\Controller\Controller;
- use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
- class RegisterController extends Controller
- {
- /**
- * @Route("/register", name="register")
- */
- public function registerAction(Request $request, UserPasswordEncoderInterface $passwordEncoder, Swift_Mailer $mailer)
- {
- $user = new User();
- $form = $this->createForm(UserType::class, $user);
- $form->handleRequest($request);
- if ($form->isSubmitted() && $form->isValid()) {
- $password = $passwordEncoder->encodePassword($user, $user->getPassword());
- $user->setPassword($password);
- $user->setIsActive(false);
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- $message = (new \Swift_Message('Link aktywacyjny'))
- ->setFrom('noreply@gmail.com')
- ->setTo($user->getEmail())
- ->setBody(
- $this->renderView(
- '@App/Register/activation.html.twig',
- array('name' => $user->getEmail())
- ),
- 'text/html'
- );
- $mailer->send($message);
- return $this->redirectToRoute('login');
- }
- return $this->render('@App/Register/register.html.twig', array(
- 'form' => $form->createView(),
- ));
- }
- /**
- * @Route("/activate/{slug}", name="activate_show")
- */
- public function activateAction($slug)
- {
- $em = $this->getDoctrine()->getManager();
- $user = $em->getRepository('AppBundle:User')->findOneBy(array('email' => $slug));
- if (!$user) {
- throw $this->createNotFoundException(
- 'No user found for e-mail ' . $slug
- );
- }
- $user->setIsActive(true);
- $em->flush();
- return $this->redirectToRoute('login');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement