public function registerAction(Application $app, Request $request)
    {
        if ($request->isMethod('POST')) {
            try {
                $user = $this->createUserFromRequest($request);
                if ($error = $this->userManager->validatePasswordStrength($user, $request->request->get('password'))) {
                    throw new InvalidArgumentException($error);
                }
                if ($this->isEmailConfirmationRequired) {
                    $user->setEnabled(false);
                    $user->setConfirmationToken($app['user.tokenGenerator']->generateToken());
                }
                $this->userManager->insert($user);

                if ($this->isEmailConfirmationRequired) {
                    // Send email confirmation.
                    $app['user.mailer']->sendConfirmationMessage($user);

                    // Render the "go check your email" page.
                    return $app['twig']->render($this->getTemplate('register-confirmation-sent'), array(
                        'layout_template' => $this->getTemplate('layout'),
                        'email' => $user->getEmail(),
                    ));
                } else {
                    // Log the user in to the new account.
                    $this->userManager->loginAsUser($user);

                    $app['session']->getFlashBag()->set('alert', 'Account created.');

                    // Redirect to user's new profile page.
                    return $app->redirect($app['url_generator']->generate('user.view', array('id' => $user->getId())));
                }

            } catch (InvalidArgumentException $e) {
                $error = $e->getMessage();
            }
        }

        return $app['twig']->render($this->getTemplate('register'), array(
            'layout_template' => $this->getTemplate('layout'),
            'error' => isset($error) ? $error : null,
            'name' => $request->request->get('name'),
            'email' => $request->request->get('email'),
            'username' => $request->request->get('username'),
            'isUsernameRequired' => $this->isUsernameRequired,
        ));
    }
public function registerAction(Application $app, Request $request)
    {
        if ($request->isMethod('POST')) {
            try {
                $user = $this->createUserFromRequest($request);
                if ($error = $this->userManager->validatePasswordStrength($user, $request->request->get('password'))) {
                    throw new InvalidArgumentException($error);
                }
                if ($this->isEmailConfirmationRequired) {
                    $user->setEnabled(false);
                    $user->setConfirmationToken($app['user.tokenGenerator']->generateToken());
                }
                $this->userManager->insert($user);

                if ($this->isEmailConfirmationRequired) {
                    // Send email confirmation.
                    $app['user.mailer']->sendConfirmationMessage($user);

                    // Render the "go check your email" page.
                    return $app['twig']->render($this->getTemplate('register-confirmation-sent'), array(
                        'layout_template' => $this->getTemplate('layout'),
                        'email' => $user->getEmail(),
                    ));
                } else {
                    // Log the user in to the new account.
                    $this->userManager->loginAsUser($user);

                    $app['session']->getFlashBag()->set('alert', 'Account created.');

                    // Redirect to user's new profile page.
                    return $app->redirect($app['url_generator']->generate('user.view', array('id' => $user->getId())));
                }

            } catch (InvalidArgumentException $e) {
                $error = $e->getMessage();
            }
        }

        return $app['twig']->render($this->getTemplate('register'), array(
            'layout_template' => $this->getTemplate('layout'),
            'error' => isset($error) ? $error : null,
            'name' => $request->request->get('name'),
            'email' => $request->request->get('email'),
            'username' => $request->request->get('username'),
            'isUsernameRequired' => $this->isUsernameRequired,
        ));
    }
public function registerAction ( Application $ app , Request $ request ) { if ( $ request -> isMethod ( 'POST' ) ) { try { $ user = $ this -> createUserFromRequest ( $ request ) ; if ( $ error = $ this -> userManager -> validatePasswordStrength ( $ user , $ request -> request -> get ( 'password' ) ) ) { throw new InvalidArgumentException ( $ error ) ; } if ( $ this -> isEmailConfirmationRequired ) { $ user -> setEnabled ( false ) ; $ user -> setConfirmationToken ( $ app [ 'user.tokenGenerator' ] -> generateToken ( ) ) ; } $ this -> userManager -> insert ( $ user ) ; if ( $ this -> isEmailConfirmationRequired ) { // Send email confirmation. $ app [ 'user.mailer' ] -> sendConfirmationMessage ( $ user ) ; // Render the "go check your email" page. return $ app [ 'twig' ] -> render ( $ this -> getTemplate ( 'register-confirmation-sent' ) , array ( 'layout_template' => $ this -> getTemplate ( 'layout' ) , 'email' => $ user -> getEmail ( ) , ) ) ; } else { // Log the user in to the new account. $ this -> userManager -> loginAsUser ( $ user ) ; $ app [ 'session' ] -> getFlashBag ( ) -> set ( 'alert' , 'Account created.' ) ; // Redirect to user's new profile page. return $ app -> redirect ( $ app [ 'url_generator' ] -> generate ( 'user.view' , array ( 'id' => $ user -> getId ( ) ) ) ) ; } } catch ( InvalidArgumentException $ e ) { $ error = $ e -> getMessage ( ) ; } } return $ app [ 'twig' ] -> render ( $ this -> getTemplate ( 'register' ) , array ( 'layout_template' => $ this -> getTemplate ( 'layout' ) , 'error' => isset ( $ error ) ? $ error : null , 'name' => $ request -> request -> get ( 'name' ) , 'email' => $ request -> request -> get ( 'email' ) , 'username' => $ request -> request -> get ( 'username' ) , 'isUsernameRequired' => $ this -> isUsernameRequired , ) ) ; }
Register action.

@param Application $app
@param Request $request
@return Response
Register action .