public function onLogoutSuccess(Request $request) { $rcl = new RoundcubeLogin($request, '/webmail/'); try { $rcl->logout(); } catch (RoundcubeLoginException $ex) { } return new RedirectResponse($this->router->generate('homepage')); }
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')); }
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)); }