Refactor getBlocks and getBlock methods from static to instance methods
[MAILPOET-2665]
This commit is contained in:
committed by
Jack Kitterhing
parent
37423908d7
commit
5193d4641c
@@ -20,7 +20,7 @@ class Renderer {
|
|||||||
|
|
||||||
public function renderHTML($form = []) {
|
public function renderHTML($form = []) {
|
||||||
if (isset($form['body']) && !empty($form['body'])) {
|
if (isset($form['body']) && !empty($form['body'])) {
|
||||||
return static::renderBlocks($form['body']);
|
return $this->renderBlocks($form['body']);
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,7 @@ class Renderer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function renderBlocks($blocks = [], $honeypotEnabled = true) {
|
public function renderBlocks($blocks = [], $honeypotEnabled = true) {
|
||||||
$settings = SettingsController::getInstance();
|
$settings = SettingsController::getInstance();
|
||||||
// add honeypot for spambots
|
// add honeypot for spambots
|
||||||
$html = ($honeypotEnabled) ?
|
$html = ($honeypotEnabled) ?
|
||||||
@@ -63,13 +63,13 @@ class Renderer {
|
|||||||
<input class="mailpoet_recaptcha_field" type="hidden" name="recaptcha">
|
<input class="mailpoet_recaptcha_field" type="hidden" name="recaptcha">
|
||||||
</div>';
|
</div>';
|
||||||
}
|
}
|
||||||
$html .= static::renderBlock($block) . PHP_EOL;
|
$html .= $this->renderBlock($block) . PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function renderBlock($block = []) {
|
private function renderBlock($block = []) {
|
||||||
$html = '';
|
$html = '';
|
||||||
switch ($block['type']) {
|
switch ($block['type']) {
|
||||||
case 'html':
|
case 'html':
|
||||||
|
@@ -20,11 +20,21 @@ class CaptchaRenderer {
|
|||||||
/** @var SubscriptionUrlFactory */
|
/** @var SubscriptionUrlFactory */
|
||||||
private $subscriptionUrlFactory;
|
private $subscriptionUrlFactory;
|
||||||
|
|
||||||
public function __construct(UrlHelper $urlHelper, WPFunctions $wp, CaptchaSession $captchaSession, SubscriptionUrlFactory $subscriptionUrlFactory) {
|
/** @var FormRenderer */
|
||||||
|
private $formRenderer;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
UrlHelper $urlHelper,
|
||||||
|
WPFunctions $wp,
|
||||||
|
CaptchaSession $captchaSession,
|
||||||
|
SubscriptionUrlFactory $subscriptionUrlFactory,
|
||||||
|
FormRenderer $formRenderer
|
||||||
|
) {
|
||||||
$this->urlHelper = $urlHelper;
|
$this->urlHelper = $urlHelper;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->captchaSession = $captchaSession;
|
$this->captchaSession = $captchaSession;
|
||||||
$this->subscriptionUrlFactory = $subscriptionUrlFactory;
|
$this->subscriptionUrlFactory = $subscriptionUrlFactory;
|
||||||
|
$this->formRenderer = $formRenderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCaptchaPageTitle() {
|
public function getCaptchaPageTitle() {
|
||||||
@@ -105,7 +115,7 @@ class CaptchaRenderer {
|
|||||||
$formHtml .= '</p>';
|
$formHtml .= '</p>';
|
||||||
|
|
||||||
// subscription form
|
// subscription form
|
||||||
$formHtml .= FormRenderer::renderBlocks($form, $honeypot = false);
|
$formHtml .= $this->formRenderer->renderBlocks($form, $honeypot = false);
|
||||||
$formHtml .= '</div>';
|
$formHtml .= '</div>';
|
||||||
$formHtml .= $this->renderFormMessages($formModel, $showSuccessMessage, $showErrorMessage);
|
$formHtml .= $this->renderFormMessages($formModel, $showSuccessMessage, $showErrorMessage);
|
||||||
$formHtml .= '</form>';
|
$formHtml .= '</form>';
|
||||||
|
@@ -55,6 +55,9 @@ class Pages {
|
|||||||
/** @var AssetsController */
|
/** @var AssetsController */
|
||||||
private $assetsController;
|
private $assetsController;
|
||||||
|
|
||||||
|
/** @var FormRenderer */
|
||||||
|
private $formRenderer;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
NewSubscriberNotificationMailer $newSubscriberNotificationSender,
|
NewSubscriberNotificationMailer $newSubscriberNotificationSender,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
@@ -64,7 +67,8 @@ class Pages {
|
|||||||
WelcomeScheduler $welcomeScheduler,
|
WelcomeScheduler $welcomeScheduler,
|
||||||
LinkTokens $linkTokens,
|
LinkTokens $linkTokens,
|
||||||
SubscriptionUrlFactory $subscriptionUrlFactory,
|
SubscriptionUrlFactory $subscriptionUrlFactory,
|
||||||
AssetsController $assetsController
|
AssetsController $assetsController,
|
||||||
|
FormRenderer $formRenderer
|
||||||
) {
|
) {
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->newSubscriberNotificationSender = $newSubscriberNotificationSender;
|
$this->newSubscriberNotificationSender = $newSubscriberNotificationSender;
|
||||||
@@ -75,6 +79,7 @@ class Pages {
|
|||||||
$this->linkTokens = $linkTokens;
|
$this->linkTokens = $linkTokens;
|
||||||
$this->subscriptionUrlFactory = $subscriptionUrlFactory;
|
$this->subscriptionUrlFactory = $subscriptionUrlFactory;
|
||||||
$this->assetsController = $assetsController;
|
$this->assetsController = $assetsController;
|
||||||
|
$this->formRenderer = $formRenderer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function init($action = false, $data = [], $initShortcodes = false, $initPageFilters = false) {
|
public function init($action = false, $data = [], $initShortcodes = false, $initPageFilters = false) {
|
||||||
@@ -487,7 +492,7 @@ class Pages {
|
|||||||
$formHtml .= '</p>';
|
$formHtml .= '</p>';
|
||||||
|
|
||||||
// subscription form
|
// subscription form
|
||||||
$formHtml .= FormRenderer::renderBlocks($form, $honeypot = false);
|
$formHtml .= $this->formRenderer->renderBlocks($form, $honeypot = false);
|
||||||
$formHtml .= '</form>';
|
$formHtml .= '</form>';
|
||||||
return $formHtml;
|
return $formHtml;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user