51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php declare(strict_types = 1);
|
||
|
||
namespace MailPoet\Form;
|
||
|
||
if (!defined('ABSPATH')) exit;
|
||
|
||
|
||
use MailPoet\Entities\FormEntity;
|
||
use MailPoet\Settings\SettingsController;
|
||
|
||
class FormMessageController {
|
||
/** @var FormsRepository */
|
||
private $formsRepository;
|
||
|
||
/** @var SettingsController */
|
||
private $settings;
|
||
|
||
public function __construct(
|
||
FormsRepository $formsRepository,
|
||
SettingsController $settingsController
|
||
) {
|
||
$this->formsRepository = $formsRepository;
|
||
$this->settings = $settingsController;
|
||
}
|
||
|
||
public function updateSuccessMessages(): void {
|
||
$rightMessage = $this->getDefaultSuccessMessage();
|
||
$wrongMessage = (
|
||
$rightMessage === __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
|
||
? __('You’ve been successfully subscribed to our newsletter!', 'mailpoet')
|
||
: __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
|
||
);
|
||
/** @var FormEntity[] $forms */
|
||
$forms = $this->formsRepository->findAll();
|
||
foreach ($forms as $form) {
|
||
$settings = $form->getSettings();
|
||
if (isset($settings['success_message']) && $settings['success_message'] === $wrongMessage) {
|
||
$settings['success_message'] = $rightMessage;
|
||
$form->setSettings($settings);
|
||
$this->formsRepository->flush();
|
||
}
|
||
}
|
||
}
|
||
|
||
public function getDefaultSuccessMessage(): string {
|
||
if ($this->settings->get('signup_confirmation.enabled')) {
|
||
return __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet');
|
||
}
|
||
return __('You’ve been successfully subscribed to our newsletter!', 'mailpoet');
|
||
}
|
||
}
|