/** * Return the combined login & registration resolved form object. * * @param Request $request The client Request object being processed. * @param string $twigParent Parent Twig template to be used. * * @return ResolvedFormBuild */ protected function getFormCombinedLogin(Request $request, $twigParent) { $resolvedBuild = new ResolvedFormBuild(); $resolvedBuild->setContext(['twigparent' => $twigParent]); /** @var Builder\Associate $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_ASSOCIATE); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $associateForm = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_ASSOCIATE, $builder, $associateForm); /** @var Builder\LoginOauth $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_LOGIN_OAUTH); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $formOauth = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_LOGIN_OAUTH, $builder, $formOauth); /** @var Builder\LoginPassword $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_LOGIN_PASSWORD); $builder->setAction(sprintf('/%s/login', $this->config->getUrlAuthenticate())); $formPassword = $builder->createForm([])->handleRequest($request); $resolvedBuild->addBuild(MembersForms::FORM_LOGIN_PASSWORD, $builder, $formPassword); /** @var Builder\ProfileRegister $builder */ $builder = $this->formGenerator->getFormBuilder(MembersForms::FORM_PROFILE_REGISTER); $builder->setAction(sprintf('/%s/profile/register', $this->config->getUrlMembers())); $formRegister = $builder->createForm([])->handleRequest($request); if ($this->session->isTransitional()) { } $resolvedBuild->addBuild(MembersForms::FORM_PROFILE_REGISTER, $builder, $formRegister); return $resolvedBuild; }
/** * 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; }