Newscoop\GimmeBundle\Controller\UsersController::registerAction PHP Метод

registerAction() публичный Метод

Register user
public registerAction ( Request $request ) : Response | Exception
$request Symfony\Component\HttpFoundation\Request
Результат Symfony\Component\HttpFoundation\Response | Exception
    public function registerAction(Request $request)
    {
        $email = $request->get('email');
        $userService = $this->container->get('user');
        $emailService = $this->container->get('email');
        $zendRouter = $this->container->get('zend_router');
        $publicationMetadata = $request->attributes->get('_newscoop_publication_metadata');
        $response = new Response();
        $users = $userService->findBy(array('email' => $email));
        if (count($users) > 0) {
            $user = array_pop($users);
        } else {
            $user = $userService->createPending($email);
        }
        if (!$user->isPending()) {
            $response->setStatusCode(409);
        } else {
            $emailService->sendConfirmationToken($user);
            $response->setStatusCode(200);
            $response->headers->set('X-Location', $request->getScheme() . '://' . $publicationMetadata['alias']['name'] . $zendRouter->assemble(array('controller' => 'register', 'action' => 'after')));
        }
        return $response;
    }