*/ class LoginController extends Controller { /** * Registration page. * * @param Request $request * * @return string */ public function registerAction(Request $request) { $app = $this->getApp(); if (false === $app['settings']['enable_registration']) { return new Response('', 403); } $user = $app['user.provider']->createUser(); $form = new UserRegisterForm( $app['form.factory'], $app['translator'], $user ); $form = $form->build()->getForm(); if ($request->isMethod('post')) { $form->submit($request); if ($form->isValid()) { if ($app['user.provider']->userExists($user->getUsername())) { $error = $app['translator']->trans('login.register.already_exists'); } else { $app['user.provider']->registerUser( $user, $user->getPassword() ); $success = $app['translator']->trans('login.register.registred'); } } } return $this->render( 'Login/register.html.twig', [ 'form' => $form->createView(), 'error' => isset($error) ? $error : '', 'success' => isset($success) ? $success : '', ] ); } /** * Login page. * * @param Request $request * * @return string */ public function loginAction(Request $request) { $app = $this->getApp(); if (false === $app['settings']['enable_login']) { return new Response('', 403); } $user = $app['user.provider']->createUser(); $form = new UserLoginForm( $app['form.factory'], $app['translator'], $user, ['csrf_protection' => false] ); $form = $form->build()->getForm(); if ($app['security.last_error']($request)) { $error = $app['translator']->trans('login.login.invalid'); } return $this->render( 'Login/login.html.twig', [ 'form' => $form->createView(), 'error' => isset($error) ? $error : '', ] ); } }