urlHelper = $urlHelper; $this->wp = $wp; $this->captchaSession = $captchaSession; $this->subscriptionUrlFactory = $subscriptionUrlFactory; $this->formRenderer = $formRenderer; } public function getCaptchaPageTitle() { return $this->wp->__("Confirm you’re not a robot", 'mailpoet'); } public function getCaptchaPageContent($sessionId) { $this->captchaSession->init($sessionId); $fields = [ [ 'id' => 'captcha', 'type' => 'text', 'params' => [ 'label' => $this->wp->__('Type in the characters you see in the picture above:', 'mailpoet'), 'value' => '', 'obfuscate' => false, ], ], ]; $form = array_merge( $fields, [ [ 'id' => 'submit', 'type' => 'submit', 'params' => [ 'label' => $this->wp->__('Subscribe', 'mailpoet'), ], ], ] ); $captchaSessionForm = $this->captchaSession->getFormData(); $formId = 0; $showSuccessMessage = !empty($_GET['mailpoet_success']); $showErrorMessage = !empty($_GET['mailpoet_error']); if (isset($captchaSessionForm['form_id'])) { $formId = (int)$captchaSessionForm['form_id']; } elseif ($showSuccessMessage) { $formId = (int)$_GET['mailpoet_success']; } elseif ($showErrorMessage) { $formId = (int)$_GET['mailpoet_error']; } $formModel = FormModel::findOne($formId); if (!$formModel instanceof FormModel) { return false; } $formModel = $formModel->asArray(); if ($showSuccessMessage) { // Display a success message in a no-JS flow return $this->renderFormMessages($formModel, $showSuccessMessage); } $formHtml = '
'; return $formHtml; } private function renderFormMessages( array $formModel, $showSuccessMessage = false, $showErrorMessage = false ) { $formHtml = ' '; return $formHtml; } }