public function onRegisteringUserSuccess(FormEvent $event)
 {
     if ($event->getRequest()->attributes->get('_locale')) {
         $userLanguage = $event->getRequest()->attributes->get('_locale');
     } else {
         // if no explicit locale has been set on this request, use the preferred language the user chose for his browser
         $userLanguage = $event->getRequest()->getPreferredLanguage();
     }
     $event->getForm()->getData()->setLanguage($userLanguage);
 }
 public function onResettingResetSuccess(FormEvent $event)
 {
     $user = $event->getForm()->getData();
     if ($user instanceof User) {
         $audit = AuditLog::make($user, 'password-reset', $event->getRequest()->getClientIp());
         $this->em->persist($audit);
         $plog = PasswordLog::make($user, $event->getRequest()->getClientIp());
         $this->em->persist($plog);
         $this->em->flush();
     }
 }
 public function onProfileEditSuccess(FormEvent $event)
 {
     if ($event->getRequest()->isXmlHttpRequest()) {
         $response = new RedirectResponse($this->router->generate('fos_user_profile_edit'));
         $event->setResponse($response);
     }
 }
 public function onChangePasswordSuccess(FormEvent $event)
 {
     if ($event->getRequest()->isXmlHttpRequest()) {
         $response = new RedirectResponse($this->router->generate('fos_user_change_password'));
         $event->setResponse($response);
     }
 }
 public function onUserCreated(\FOS\UserBundle\Event\FormEvent $event)
 {
     $form = $event->getForm();
     $user = $form->getData();
     $request = $event->getRequest();
     $admin = $this->container->get('sf.admin.loader')->getAdminByClass(get_class($user));
     $admin->setUserRegistration($user, $request);
 }
 public function onRegistrationSuccess(FormEvent $event)
 {
     $user = $event->getForm()->getData();
     $user->setCreatedIp($event->getRequest()->getClientIp());
     $user->setCreatedTime(time());
     //note: 如果 $event->getResponse() 有值,将不会跳转到注册成功页面,而继续执行 FOSUserEvents::REGISTRATION_COMPLETED
     //note: 注册成功
 }
 public function onRegistrationSuccess(\FOS\UserBundle\Event\FormEvent $event)
 {
     if ($event->getRequest()->isXmlHttpRequest()) {
         /** @var $user \FOS\UserBundle\Model\UserInterface */
         $user = $event->getForm()->getData();
         $user->setEnabled(false);
         if (null === $user->getConfirmationToken()) {
             $user->setConfirmationToken($this->tokenGenerator->generateToken());
         }
         $this->mailer->sendConfirmationEmailMessage($user);
         $data = array('message' => $this->translator->trans('registration.check_email', array('%email%' => $user->getEmail()), 'FOSUserBundle'));
         $event->setResponse(new \Symfony\Component\HttpFoundation\JsonResponse($data));
     } else {
         return parent::onRegistrationSuccess($event);
     }
 }
 public function onRegistrationSuccess(FormEvent $event)
 {
     if ($event->getRequest()->isXmlHttpRequest()) {
         /** @var $user \FOS\UserBundle\Model\UserInterface */
         $user = $event->getForm()->getData();
         $user->setEnabled(false);
         if (null === $user->getConfirmationToken()) {
             $user->setConfirmationToken($this->tokenGenerator->generateToken());
         }
         $this->mailer->sendConfirmationEmailMessage($user);
         $this->session->set('fos_user_send_confirmation_email/email', $user->getEmail());
         $data = array('success' => true);
         $event->setResponse(new \Symfony\Component\HttpFoundation\JsonResponse($data));
     } else {
         return parent::onRegistrationSuccess($event);
     }
 }
示例#9
0
 public function onPasswordChange(FormEvent $event)
 {
     // Get new password
     /** @var User $user */
     $user = $event->getForm()->getData();
     $password = $user->getPlainPassword();
     // Get pkey from session
     $privKey = $event->getRequest()->getSession()->get('pkey');
     // Secure pkey with new password
     $res = openssl_pkey_get_private($privKey);
     openssl_pkey_export($res, $privKey, $password);
     // Store pkey in user
     $user->setPrivateKey($privKey);
     unset($password);
     openssl_pkey_free($res);
     unset($privKey);
 }
 public function onRegistrationSuccess(FormEvent $event)
 {
     $user = $event->getForm()->getData();
     $locale = $event->getRequest()->getLocale();
     $this->initProfile($user, $locale);
 }
 function it_listens_registration_success(FormEvent $formEvent, FormInterface $form, Request $request, SessionInterface $session, UserInterface $user)
 {
     $formEvent->getForm()->shouldBeCalled()->willReturn($form);
     $form->getData()->shouldBeCalled()->willReturn($user);
     $formEvent->getRequest()->shouldBeCalled()->willReturn($request);
     $request->getSession()->shouldBeCalled()->willReturn($session);
     $user->getEmail()->shouldBeCalled()->willReturn('*****@*****.**');
     $user->getPlainPassword()->shouldBeCalled()->willReturn('123456');
     $session->set('_email', '*****@*****.**')->shouldBeCalled();
     $session->set('_password', '123456')->shouldBeCalled();
     $this->onRegistrationSuccess($formEvent);
 }
示例#12
0
 /**
  * Listens in the registration form saving in the session the username and the plain password.
  *
  * @param \FOS\UserBundle\Event\FormEvent $event The form event
  */
 public function onRegistrationSuccess(FormEvent $event)
 {
     $user = $event->getForm()->getData();
     if ($user instanceof UserInterface) {
         $request = $event->getRequest();
         $request->getSession()->set('_email', $user->getEmail());
         $request->getSession()->set('_password', $user->getPlainPassword());
     }
 }