Nessuna descrizione

FormMessageController.php 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php declare(strict_types = 1);
  2. namespace MailPoet\Form;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\Entities\FormEntity;
  5. use MailPoet\Settings\SettingsController;
  6. class FormMessageController {
  7. /** @var FormsRepository */
  8. private $formsRepository;
  9. /** @var SettingsController */
  10. private $settings;
  11. public function __construct(
  12. FormsRepository $formsRepository,
  13. SettingsController $settingsController
  14. ) {
  15. $this->formsRepository = $formsRepository;
  16. $this->settings = $settingsController;
  17. }
  18. public function updateSuccessMessages(): void {
  19. $rightMessage = $this->getDefaultSuccessMessage();
  20. $wrongMessage = (
  21. $rightMessage === __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
  22. ? __('You’ve been successfully subscribed to our newsletter!', 'mailpoet')
  23. : __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
  24. );
  25. /** @var FormEntity[] $forms */
  26. $forms = $this->formsRepository->findAll();
  27. foreach ($forms as $form) {
  28. $settings = $form->getSettings();
  29. if (isset($settings['success_message']) && $settings['success_message'] === $wrongMessage) {
  30. $settings['success_message'] = $rightMessage;
  31. $form->setSettings($settings);
  32. $this->formsRepository->flush();
  33. }
  34. }
  35. }
  36. public function getDefaultSuccessMessage(): string {
  37. if ($this->settings->get('signup_confirmation.enabled')) {
  38. return __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet');
  39. }
  40. return __('You’ve been successfully subscribed to our newsletter!', 'mailpoet');
  41. }
  42. }