/** * Display the registration form. * * @param TwigEnvironment $twigEnvironment * @param string $template * * @return TwigMarkup */ public function renderRegister(TwigEnvironment $twigEnvironment, $template = null) { $context = ['transitional' => $this->session->isTransitional()]; $template = $template ?: $this->config->getTemplate('profile', 'register'); $form = $this->formManager->getFormProfileRegister(new Request(), false); $html = $this->formManager->renderForms($form, $twigEnvironment, $template, $context); return new TwigMarkup($html, 'UTF-8'); }
/** * Generate the HTML for the verification email. * * @param MembersProfileEvent $event * * @return string */ private function getRegisterHtml(MembersProfileEvent $event) { $meta = $event->getMetaEntityNames(); $query = http_build_query(['code' => $meta[AccountVerification::KEY_NAME]]); $context = ['name' => $event->getAccount()->getDisplayname(), 'email' => $event->getAccount()->getEmail(), 'link' => sprintf('%s/%s/profile/verify?%s', $this->siteUrl, $this->config->getUrlMembers(), $query), 'member' => $event->getAccount()]; $mailHtml = $this->twig->render($this->config->getTemplate('verification', 'body'), $context); return $mailHtml; }
/** * Render given forms in a template. * * @param ResolvedFormBuild $builder * @param TwigEnvironment $twigEnvironment * @param string $template * @param array $context * * @return TwigMarkup */ public function renderForms(ResolvedFormBuild $builder, TwigEnvironment $twigEnvironment, $template, array $context = []) { $context += $builder->getContext(); /** @var FormInterface $form */ foreach ($builder->getForms() as $form) { $formName = sprintf('form_%s', $form->getName()); $context[$formName] = $form->createView(); } $context['feedback'] = $this->feedback; $context['providers'] = $this->config->getEnabledProviders(); $context['templates']['feedback'] = $this->config->getTemplate('feedback', 'feedback'); $html = $twigEnvironment->render($template, $context); return new TwigMarkup($html, 'UTF-8'); }