/**
  * 
  * @param string $class
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function register($class)
 {
     $this->userDiscriminator->setClass($class);
     $this->controller->setContainer($this->container);
     $result = $this->controller->registerAction($this->container->get('request'));
     if ($result instanceof RedirectResponse) {
         return $result;
     }
     $template = $this->userDiscriminator->getTemplate('registration');
     if (is_null($template)) {
         $template = 'FOSUserBundle:Registration:register.html.twig';
     }
     $form = $this->formFactory->createForm();
     return $this->container->get('templating')->renderResponse($template, array('form' => $form->createView()));
 }
예제 #2
0
 public function registerAction(Request $request)
 {
     if ($this->container->getParameter('wallabag_user.registration_enabled')) {
         return parent::registerAction($request);
     }
     return $this->redirectToRoute('fos_user_security_login', [], 301);
 }
예제 #3
0
 public function registerAction(\Symfony\Component\HttpFoundation\Request $request)
 {
     if ($this->container->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         return new RedirectResponse($this->container->get('router')->generate('jg_compicture_compicture_index'));
     }
     return parent::registerAction($request);
 }
 public function confirmAction(Request $request, $token)
 {
     if ($this->userAlreadyLoggedIn()) {
         $router = $this->container->get('router');
         return new RedirectResponse($router->generate('fos_user_profile_edit'), 302);
     }
     return parent::confirmAction($request, $token);
 }
예제 #5
0
 public function registerAction()
 {
     $userService = $this->container->get('mkd.user');
     if ($userService->userLoginStatus()) {
         return new RedirectResponse('/');
     }
     return parent::registerAction();
 }
 public function registerAction()
 {
     $discriminator = $this->container->get('nmn_user_discriminator');
     $form = $discriminator->getRegistrationForm();
     $this->container->set('fos_user.registration.form', $form);
     $return = parent::registerAction();
     return $return;
 }
 public function authenticateUser(UserInterface $user, Response $response)
 {
     parent::authenticateUser($user, $response);
     $em = $this->container->get('doctrine')->getManager();
     $book = new AddressBook($user);
     $em->persist($book);
     $em->flush();
 }
예제 #8
0
 public function registerAction(\Symfony\Component\HttpFoundation\Request $request)
 {
     $enabled = $this->container->get('symbb.core.config.manager')->get('system.registration.enabled', "default");
     if ($enabled) {
         return parent::registerAction($request);
     } else {
         $template = $this->getTemplateBundleName();
         return $this->container->get('templating')->renderResponse($template . ':Registration:disabled.html.twig', array());
     }
 }
 public function registerAction(Request $request)
 {
     $registration_enabled = $this->container->getParameter('uam_user.registration.enabled');
     if ($registration_enabled) {
         $response = parent::registerAction($request);
         return $response;
     } else {
         throw new RegistrationDisabledException('Registration is currently disabled.');
     }
 }
 /**
  * Receive the confirmation token from user email provider, login the user
  */
 public function confirmAction(Request $request, $token)
 {
     $userManager = $this->container->get('fos_user.user_manager');
     $user = $userManager->findUserByConfirmationToken($token);
     if (null === $user) {
         // User with token not found. Do whatever you want here
         return new RedirectResponse($this->container->get('router')->generate('fos_user_security_login'));
     } else {
         // Token found. Letting the FOSUserBundle's action handle the confirmation
         return parent::confirmAction($request, $token);
     }
 }
 public function registerAction(Request $request)
 {
     $securityContext = $this->container->get('security.context');
     if ($securityContext->isGranted('ROLE_USER')) {
         return new RedirectResponse($this->generateUrl('personal_info'), 302);
     }
     if ($securityContext->isGranted('ROLE_ADMIN')) {
         return new RedirectResponse($this->generateUrl('personal_info'), 302);
     }
     $response = parent::registerAction($request);
     return $response;
 }
 public function registerAction(Request $request)
 {
     $logger = $this->get('logger');
     //ajax response
     if ($request->isXmlHttpRequest()) {
         $error = false;
         $messages = array();
         $url = '';
         /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
         $formFactory = $this->get('fos_user.registration.form.factory');
         /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
         $userManager = $this->get('fos_user.user_manager');
         /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
         $dispatcher = $this->get('event_dispatcher');
         $user = $userManager->createUser();
         $user->setEnabled(true);
         $event = new GetResponseUserEvent($user, $request);
         $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
         if (null !== $event->getResponse()) {
             return $event->getResponse();
         }
         $form = $formFactory->createForm();
         $form->setData($user);
         $form->handleRequest($request);
         if ($form->isValid()) {
             $event = new FormEvent($form, $request);
             $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
             $userManager->updateUser($user);
             if (null === ($response = $event->getResponse())) {
                 $url = $this->generateUrl('fos_user_registration_confirmed');
                 $messages[] = 'Successfully registered';
             }
         } else {
             //form failed
             $error = true;
             $logger->error($form->getErrorsAsString());
             foreach ($form->getErrors(true, false) as $err) {
                 $messages[] = (string) $err;
             }
         }
         $response = new JsonResponse();
         $data = array('error' => $error, 'messages' => $messages, 'targetUrl' => $url);
         $response->setData($data);
         if (!$error) {
             $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
         }
         return $response;
     } else {
         //normal response
         return parent::registerAction($request);
     }
 }
 public function confirmAction($token)
 {
     $return = parent::confirmAction($token);
     if ($return instanceof RedirectResponse) {
         $user = $this->container->get('security.context')->getToken()->getUser();
         if (is_object($user) || $user instanceof UserInterface) {
             $dispatcher = $this->container->get('event_dispatcher');
             $event = new ManualLoginEvent($user);
             $dispatcher->dispatch('security.manual_login', $event);
         }
     }
     return $return;
 }
 /**
  * 重新加载模板
  */
 public function render($view, array $parameters = array(), \Symfony\Component\HttpFoundation\Response $response = null)
 {
     switch ($view) {
         //用户注册
         case 'FOSUserBundle:Registration:register.html.twig':
             $view = 'GloryUserBundle:Register:register.html.twig';
             break;
             //注册成功
         //注册成功
         case 'FOSUserBundle:Registration:confirmed.html.twig':
             $view = 'GloryUserBundle:Register:success.html.twig';
             break;
     }
     return parent::render($view, $parameters, $response);
 }
 /**
  * Tell the user his account is now confirmed
  */
 public function confirmedAction()
 {
     $response = parent::confirmedAction();
     // new functionality
     $userManager = $this->container->get('fos_user.user_manager');
     $users = $userManager->findUsers();
     foreach ($users as $u) {
         $roles = $u->getRoles();
         if (in_array('ROLE_SUPER_ADMIN', $roles)) {
             $message = \Swift_Message::newInstance()->setSubject('Publish : new user')->setFrom($this->container->getParameter('from_email_adress'))->setTo($u->getEmail())->setBody($this->container->get('templating')->render('PlantnetUserBundle:Registration:email_new.txt.twig'));
             $this->container->get('mailer')->send($message);
         }
     }
     // /new functionality
     return $response;
 }
예제 #16
0
 /**
  * 
  * @param Request $request
  * @param unknown $token
  */
 public function confirmAction(Request $request, $token)
 {
     $userManager = $this->container->get('fos_user.user_manager');
     $user = $userManager->findUserByConfirmationToken($token);
     if (null === $user) {
         /* ************************************
          *
          * User with token not found. Do whatever you want here
          *
          * e.g. redirect to login:
          **************************************/
         //return $this->container->get('templating')->renderResponse('DriveHomeBundle:Registration:link_error.html.twig');
         return $this->render('TripSecurityBundle:Registration:link_error.html.twig');
     } else {
         // Token found. Letting the FOSUserBundle's action handle the confirmation
         return parent::confirmAction($request, $token);
     }
 }
 public function registerAction()
 {
     $response = parent::registerAction();
     // alerter par mail l'administrateur
     $userManager = $this->container->get('fos_user.user_manager');
     $user = $userManager->findUserByUsername($this->container->get('security.context')->getToken()->getUser());
     if ($user) {
         //Mail inscription
         $mailer = $this->container->get('mailer');
         $message = $mailer->createMessage()->setSubject('Me New User Inscription')->setFrom('*****@*****.**')->setTo('*****@*****.**')->setBody($this->container->get('templating')->render('UserBundle:Registration:Email/registration.html.twig', array('user' => $user)), 'text/html');
         $mailer->send($message);
         // Autologin
         $token = new UsernamePasswordToken($user, null, 'main', array('ROLE_USER'));
         $this->container->get('security.context')->setToken($token);
         $this->container->get('session')->set('_security_main', serialize($token));
         // end Autologin
     }
     return $response;
 }
 /**
  * @ApiDoc(
  *  resource=false,
  *  section="Register",
  *  description="Receive the confirmation token from user email provider, login the user"
  * )
  */
 public function confirmAction(Request $request, $token)
 {
     return parent::confirmAction($request, $token);
 }
 /**
  * @Route("/confirmed", name="fos_user_registration_confirmed", methods="GET")
  * @Template("SymforceUserBundle:Registration:confirmed.html.twig")
  */
 public function confirmedAction()
 {
     return parent::confirmedAction();
 }
 /**
  * Tell the user to check his email provider
  */
 public function checkEmailAction()
 {
     $this->get('session')->remove('registration_authorized');
     return parent::checkEmailAction();
 }
예제 #21
0
 public function registerAction(Request $request)
 {
     if ($request->isXmlHttpRequest()) {
         /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
         $userManager = $this->container->get('fos_user.user_manager');
         /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
         $dispatcher = $this->container->get('event_dispatcher');
         /** @var User $user */
         $user = $userManager->createUser();
         $user->setEnabled(true);
         $event = new GetResponseUserEvent($user, $request);
         $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
         if (null !== $event->getResponse()) {
             return $event->getResponse();
         }
         $form = $this->createForm(new AjaxRegistrationFormType(), $user, array('csrf_protection' => false));
         if ('POST' === $request->getMethod()) {
             $form->handleRequest($request);
             if ($form->isValid()) {
                 switch ($request->get('sale')) {
                     case 'promo':
                         $user->setPromo(json_encode(array("promo" => date("Y-m-d 00:00:00", strtotime("now +7 days")))));
                         break;
                     case 'bonus1000':
                         $user->setBonus(json_encode(array("1000" => date("Y-m-d 00:00:00", strtotime("now +7 days")))));
                         break;
                 }
                 $event = new FormEvent($form, $request);
                 $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
                 $userManager->updateUser($user);
                 if (null === ($response = $event->getResponse())) {
                     $response = new JsonResponse();
                     $data = array('success' => true);
                     $response->setData($data);
                 }
                 $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
                 return $response;
             } else {
                 $errors = array();
                 $errorString = (string) $form->getErrors(true, false);
                 $errorString = trim(preg_replace('/:\\s+?ERROR:\\s/', '=', $errorString), "\n");
                 $errorsArray = explode("\n", $errorString);
                 foreach ($errorsArray as $errorString) {
                     $oneErrorArray = explode('=', $errorString);
                     if (isset($oneErrorArray[0], $oneErrorArray[1])) {
                         $errors[$oneErrorArray[0]] = $oneErrorArray[1];
                     }
                 }
                 return new JsonResponse(array('errors' => $errors));
             }
         }
     } else {
         $authChecker = $this->container->get('security.authorization_checker');
         $router = $this->container->get('router');
         if ($authChecker->isGranted('ROLE_ADMIN') || $authChecker->isGranted('ROLE_SUPER_ADMIN')) {
             return new RedirectResponse($router->generate('hookah_orders_admin'), 307);
         }
         if ($authChecker->isGranted('ROLE_USER')) {
             return new RedirectResponse($router->generate('user_cabinet_homepage'), 307);
         }
         return parent::registerAction($request);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function render($view, array $parameters = array(), Response $response = null)
 {
     return $this->renderDocumentResponse(parent::render($view, $parameters, $response));
 }
 public function registerAction(Request $request)
 {
     return parent::registerAction($request);
 }
예제 #24
0
 public function registerAction()
 {
     $response = parent::registerAction();
     // do custom stuff
     return $response;
 }
 public function registerAction(Request $request)
 {
     if ($request->isXmlHttpRequest()) {
         $view = View::create();
         $view->setFormat('json');
         $response = new JsonResponse();
         //Backward compatibility with Fos User 1.3
         if (!class_exists('FOS\\UserBundle\\FOSUserEvents')) {
             $form = $this->container->get('fos_user.registration.form');
             $formHandler = $this->container->get('fos_user.registration.form.handler');
             $confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled');
             $process = $formHandler->process($confirmationEnabled);
             if ($process) {
                 $user = $form->getData();
                 $authUser = false;
                 if ($confirmationEnabled) {
                     $this->container->get('session')->set('fos_user_send_confirmation_email/email', $user->getEmail());
                     $route = 'fos_user_registration_check_email';
                     $message = $this->trans('registration.check_email', array('%email%' => $user->getEmail()));
                 } else {
                     $authUser = true;
                     $route = 'fos_user_registration_confirmed';
                     $message = $this->trans('registration.confirmed', array('%username%' => $user->getUserName()));
                 }
                 $this->setFlash('fos_user_success', 'registration.flash.user_created');
                 $url = $this->container->get('router')->generate($route);
                 $response = new JsonResponse();
                 $data = array('message' => $message, 'targetUrl' => $url, 'authUser' => $authUser);
                 $response->setData($data);
                 if ($authUser) {
                     $this->authenticateUser($user, $response);
                 }
                 return $response;
             }
         } else {
             /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
             $formFactory = $this->container->get('fos_user.registration.form.factory');
             /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
             $userManager = $this->container->get('fos_user.user_manager');
             /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
             $dispatcher = $this->container->get('event_dispatcher');
             $user = $userManager->createUser();
             $user->setEnabled(true);
             $event = new GetResponseUserEvent($user, $request);
             $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
             if (null !== $event->getResponse()) {
                 return $event->getResponse();
             }
             $form = $formFactory->createForm();
             $form->setData($user);
             if ('POST' === $request->getMethod()) {
                 $form->bind($request);
                 if ($form->isValid()) {
                     $targetUrl = '';
                     if ($this->getSession()) {
                         $session = $this->getSession();
                         if (($token = $this->container->get('security.context')->getToken()) && is_a($token, 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken')) {
                             $targetUrl = $session->get('_security.' . $token->getProviderKey() . '.target_path');
                         }
                     }
                     $event = new FormEvent($form, $request);
                     $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
                     $userManager->updateUser($user);
                     if (null === ($response = $event->getResponse())) {
                         $url = $this->container->get('router')->generate('fos_user_registration_confirmed');
                         $response = new JsonResponse();
                         $data = array('message' => $this->trans('registration.confirmed', array('%username%' => $user->getUserName())), 'targetUrl' => $targetUrl);
                         $response->setData($data);
                     }
                     $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
                     return $response;
                 }
             }
         }
         $view->setData($form);
         return $this->handleView($view);
     } else {
         return parent::registerAction($request);
     }
 }