From 19b99b4ff132eb9a022006737b6fe200f3eff91c Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 15 Sep 2021 09:50:17 +0200 Subject: [PATCH] Refactor Captcha Renderer to use Doctrine [MAILPOET-3644] --- lib/Subscription/CaptchaRenderer.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/Subscription/CaptchaRenderer.php b/lib/Subscription/CaptchaRenderer.php index 2324afd2dd..25e552fe9a 100644 --- a/lib/Subscription/CaptchaRenderer.php +++ b/lib/Subscription/CaptchaRenderer.php @@ -2,8 +2,9 @@ namespace MailPoet\Subscription; +use MailPoet\Entities\FormEntity; +use MailPoet\Form\FormsRepository; use MailPoet\Form\Renderer as FormRenderer; -use MailPoet\Models\Form as FormModel; use MailPoet\Util\Url as UrlHelper; use MailPoet\WP\Functions as WPFunctions; @@ -23,11 +24,15 @@ class CaptchaRenderer { /** @var FormRenderer */ private $formRenderer; + /** @var FormsRepository */ + private $formsRepository; + public function __construct( UrlHelper $urlHelper, WPFunctions $wp, CaptchaSession $captchaSession, SubscriptionUrlFactory $subscriptionUrlFactory, + FormsRepository $formsRepository, FormRenderer $formRenderer ) { $this->urlHelper = $urlHelper; @@ -35,6 +40,7 @@ class CaptchaRenderer { $this->captchaSession = $captchaSession; $this->subscriptionUrlFactory = $subscriptionUrlFactory; $this->formRenderer = $formRenderer; + $this->formsRepository = $formsRepository; } public function getCaptchaPageTitle() { @@ -82,11 +88,10 @@ class CaptchaRenderer { $formId = (int)$_GET['mailpoet_error']; } - $formModel = FormModel::findOne($formId); - if (!$formModel instanceof FormModel) { + $formModel = $this->formsRepository->findOneById($formId); + if (!$formModel instanceof FormEntity) { return false; } - $formModel = $formModel->asArray(); if ($showSuccessMessage) { // Display a success message in a no-JS flow @@ -123,12 +128,13 @@ class CaptchaRenderer { } private function renderFormMessages( - array $formModel, + FormEntity $formModel, $showSuccessMessage = false, $showErrorMessage = false ) { + $settings = $formModel->getSettings() ?? []; $formHtml = '
'; - $formHtml .= ''; + $formHtml .= ''; $formHtml .= ''; $formHtml .= '
'; return $formHtml;