/** * @param RenderAPI $renderApi * @param Unit $unit * @param ModuleInfo $moduleInfo */ public function renderContent($renderApi, $unit, $moduleInfo) { $formSend = false; $this->http = new \Request(); $form = new \Form(); $honeyPotComponent = new \HoneyPotComponent(); $this->formSubmit = new \FormSubmit(); $postRequest = $this->formSubmit->getPostValues(); $elementProperties = $form->getElementProperties(); $elementProperties->setId("form" . str_replace("-", "", $unit->getId())); $elementProperties->addAttribute('action', $_SERVER['REQUEST_URI'] . '#' . $unit->getId()); $elementProperties->addAttribute('method', 'post'); $elementProperties->addAttribute('enctype', 'multipart/form-data'); $form->add($honeyPotComponent->getHoneyPot()); $form->add($honeyPotComponent->getFormUnitIdentifier($unit->getId())); if ($this->formSubmit->isValid($renderApi, $unit) && count($postRequest) > 0 && $honeyPotComponent->isValidHoneyPot($postRequest) && $this->hasValidFormData($renderApi, $unit)) { $this->formSubmit->setFieldLabelsToFormValueSet($renderApi); try { $this->sentEmail($renderApi, $unit, $postRequest); $formSend = true; } catch (\Exception $e) { $errorText = new \Span(); $errorText->setContent("Unable to send email:<br />" . $e->getMessage()); $errorContainer = new \Container(); $errorContainer->add($errorText); $errorContainer->getElementProperties()->addClass('vf__main_error'); $form->add($errorContainer); } } if ($formSend) { $confirmationText = new \Span(); $confirmationText->setContent(preg_replace('/\\n/', '<br>', $renderApi->getFormValue($unit, 'confirmationText'))); $confirmationContainer = new \Container(); $confirmationContainer->add($confirmationText); $confirmationContainer->getElementProperties()->addClass('confirmationText'); $form->add($confirmationContainer); echo $form->renderElement(); } else { echo $form->renderElementProgressive($renderApi, $unit); } }