示例#1
0
 public function onLogoutSuccess(Request $request)
 {
     $rcl = new RoundcubeLogin($request, '/webmail/');
     try {
         $rcl->logout();
     } catch (RoundcubeLoginException $ex) {
     }
     return new RedirectResponse($this->router->generate('homepage'));
 }
示例#2
0
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $email = $token->getUser()->getEmail();
     $password = $request->request->get('_password');
     $rcl = new RoundcubeLogin($request, '/webmail/');
     try {
         $rcl->login($email, $password);
     } catch (RoundcubeLoginException $ex) {
     }
     return new RedirectResponse($this->router->generate('user_webmail'));
 }
示例#3
0
 public function registrationNewAction(Request $request)
 {
     $form = $this->createForm(new RegistrationType(), new Registration());
     $form->bind($this->getRequest());
     $errors = [];
     if ($form->isValid()) {
         $registration = $form->getData();
         $username = $registration->getUsername();
         $email = $registration->getUsername() . '@vmail.me';
         $password = $registration->getPassword();
         $rescueEmail = $registration->getRescueEmail();
         $isUsernameForbidden = $this->get('rootiovmailme.user_manager')->isUsernameForbidden($username);
         $isUsernameTaken = $this->get('rootiovmailme.user_manager')->isUsernameTaken($username);
         if ($isUsernameForbidden || $isUsernameTaken) {
             $errors['message'] = $this->get('translator')->trans('Email not available');
         }
         $isPasswordForbidden = $this->get('rootiovmailme.user_manager')->isPasswordForbidden($password);
         if ($isPasswordForbidden) {
             $errors['message'] = $this->get('translator')->trans('Your password is too easy to guess');
         }
         if (empty($errors)) {
             $user = $this->get('rootiovmailme.user_manager')->createUser($username, $password, $rescueEmail);
             if ($user) {
                 $token = new UsernamePasswordToken($user, null, 'main', array('ROLE_USER'));
                 $this->get('security.context')->setToken($token);
                 $rcl = new RoundcubeLogin($request, '/webmail/');
                 try {
                     $rcl->login($user->getEmail(), $password);
                 } catch (RoundcubeLoginException $ex) {
                 }
                 return $this->redirect($this->generateUrl('user_webmail'));
             }
         }
     }
     $registration = $this->container->getParameter('registration');
     return $this->render('rootiovmailmeBundle:Default:registration.html.twig', array('form' => $form->createView(), 'registration' => $registration, 'errors' => $errors));
 }