-               //With mail and field
-               if (!empty($field) && !empty($hash)) {
-                       //With invalid hash
-                       if ($hash != $slugger->hash($mail.$field)) {
-                               //Throw bad request
-                               throw new BadRequestHttpException($this->translator->trans('Invalid %field% field: %value%', ['%field%' => 'hash', '%value%' => $hash]));
-                       }
-
-                       //With mail
-                       if (!empty($mail)) {
-                               //Get mail
-                               $mail = $slugger->unshort($smail = $mail);
-
-                               //Without valid mail
-                               if (filter_var($mail, FILTER_VALIDATE_EMAIL) === false) {
-                                       //Throw bad request
-                                       //XXX: prevent slugger reverse engineering by not displaying decoded mail
-                                       throw new BadRequestHttpException($this->translator->trans('Invalid %field% field: %value%', ['%field%' => 'mail', '%value%' => $smail]));
-                               }
-
-                               //With existing registrant
-                               if ($existing = $doctrine->getRepository($this->config['class']['user'])->findOneByMail($mail)) {
-                                       //With disabled existing
-                                       if ($existing->isDisabled()) {
-                                               //Render view
-                                               $response = $this->render(
-                                                       //Template
-                                                       $this->config['register']['view']['name'],
-                                                       //Context
-                                                       ['title' => $this->translator->trans('Access denied'), 'disabled' => 1]+$this->config['register']['view']['context']
-                                               );
-
-                                               //Set 403
-                                               $response->setStatusCode(403);
-
-                                               //Return response
-                                               return $response;
-                                       //With unactivated existing
-                                       } elseif (!$existing->isActivated()) {
-                                               //Set mail shortcut
-                                               $activateMail =& $this->config['register']['mail'];
-
-                                               //Generate each route route
-                                               foreach($this->config['register']['route'] as $route => $tag) {
-                                                       //Only process defined routes
-                                                       if (!empty($this->config['route'][$route])) {
-                                                               //Process for confirm url
-                                                               if ($route == 'confirm') {
-                                                                       //Set the url in context
-                                                                       $activateMail['context'][$tag] = $this->get('router')->generate(
-                                                                               $this->config['route'][$route]['name'],
-                                                                               //Prepend subscribe context with tag
-                                                                               [
-                                                                                       'mail' => $smail = $slugger->short($existing->getMail()),
-                                                                                       'hash' => $slugger->hash($smail)
-                                                                               ]+$this->config['route'][$route]['context'],
-                                                                               UrlGeneratorInterface::ABSOLUTE_URL
-                                                                       );
-                                                               }
-                                                       }
-                                               }
-
-                                               //Set recipient_name
-                                               $activateMail['context']['recipient_mail'] = $existing->getMail();
-
-                                               //Set recipient name
-                                               $activateMail['context']['recipient_name'] = $existing->getRecipientName();
-
-                                               //Init subject context
-                                               $subjectContext = $slugger->flatten(array_replace_recursive($this->config['register']['view']['context'], $activateMail['context']), null, '.', '%', '%');
-
-                                               //Translate subject
-                                               $activateMail['subject'] = ucfirst($this->translator->trans($activateMail['subject'], $subjectContext));
-
-                                               //Create message
-                                               $message = (new TemplatedEmail())
-                                                       //Set sender
-                                                       ->from(new Address($this->config['contact']['mail'], $this->config['contact']['title']))
-                                                       //Set recipient
-                                                       //XXX: remove the debug set in vendor/symfony/mime/Address.php +46
-                                                       ->to(new Address($activateMail['context']['recipient_mail'], $activateMail['context']['recipient_name']))
-                                                       //Set subject
-                                                       ->subject($activateMail['subject'])
-
-                                                       //Set path to twig templates
-                                                       ->htmlTemplate($activateMail['html'])
-                                                       ->textTemplate($activateMail['text'])
-
-                                                       //Set context
-                                                       ->context(['subject' => $activateMail['subject']]+$activateMail['context']);
-
-                                               //Try sending message
-                                               //XXX: mail delivery may silently fail
-                                               try {
-                                                       //Send message
-                                                       $mailer->send($message);
-                                               //Catch obvious transport exception
-                                               } catch(TransportExceptionInterface $e) {
-                                                       //Add error message mail unreachable
-                                                       $this->addFlash('error', $this->translator->trans('Account %mail% tried activate but unable to contact', ['%mail%' => $existing->getMail()]));
-                                               }
-
-                                               //Get route params
-                                               $routeParams = $request->get('_route_params');
-
-                                               //Remove mail, field and hash from route params
-                                               unset($routeParams['mail'], $routeParams['field'], $routeParams['hash']);
-
-                                               //Redirect on the same route with sent=1 to cleanup form
-                                               return $this->redirectToRoute($request->get('_route'), ['sent' => 1]+$routeParams);
-                                       }
-
-                                       //Add error message mail already exists
-                                       $this->addFlash('warning', $this->translator->trans('Account %mail% already exists', ['%mail%' => $existing->getMail()]));
-
-                                       //Redirect to user view
-                                       return $this->redirectToRoute(
-                                               $this->config['route']['edit']['name'],
-                                               [
-                                                       'mail' => $smail = $slugger->short($existing->getMail()),
-                                                       'hash' => $slugger->hash($smail)
-                                               ]+$this->config['route']['edit']['context']
-                                       );
-                               }
-                       //Without mail
-                       } else {
-                               //Set smail
-                               $smail = $mail;
-                       }
-
-                       //Try
-                       try {
-                               //Unshort then unserialize field
-                               $field = $slugger->unserialize($sfield = $field);
-                       //Catch type error
-                       } catch (\Error|\Exception $e) {
-                               //Throw bad request
-                               throw new BadRequestHttpException($this->translator->trans('Invalid %field% field: %value%', ['%field%' => 'field', '%value%' => $field]), $e);
-                       }
-
-                       //With non array field
-                       if (!is_array($field)) {
-                               //Throw bad request
-                               throw new BadRequestHttpException($this->translator->trans('Invalid %field% field: %value%', ['%field%' => 'field', '%value%' => $field]));
-                       }
-               //Without field and hash
-               } else {
-                       //Set smail
-                       $smail = $mail;
-
-                       //Set smail
-                       $sfield = $field;
-
-                       //Reset field
-                       $field = [];
-               }
-