Commit Graph

72 Commits

Author SHA1 Message Date
1053f062e3 Change info notice to success notice
[MAILPOET-5429]
2023-08-03 12:31:02 +02:00
7d6e69e639 Add notice when premium features for key are available
[MAILPOET-5429]
2023-08-03 12:31:02 +02:00
3b2d60bb4f Fix counts cache update for below minimum subscribers
[MAILPOET-5390]
2023-06-21 10:33:00 +02:00
0ab2f8e6a3 Show June 2023 sale banner
[MAILPOET-5213]
2023-06-05 09:47:15 +02:00
5203eb5268 Don't cache if subscribers count is below minimum value
[MAILPOET-5180]
2023-05-22 14:13:05 +02:00
906e76c73c Map subscriber custom fields to automation fields
[MAILPOET-5036]
2023-05-17 12:36:05 +02:00
77e64a7c57 Return plan limit data also for underprivileged keys
When a key is underprivileged it is still considered valid and
we can use the state data about limits.
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
600c83943c Change login of MailPoet.hasValidApiKey key JS property
The API key that is underprivileged for MSS and Premium
is still considered as valid because the API can still authenticate the key
and the key can be used reporting subscriber stats etc.

I've check places where we use the property and in all cases we use
to distinguish if the plugin uses a subscription plan (free or paid) or no plan.
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
6aaa56466e Display subscribers limit reached also when API reports restricted access
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
20a8afa2f1 Fix logic for detecting emails volume reached error
The values we have in key state might be missing or outdated.
We need to check also if the key check on MSS returned error
about access being restricted due email volume limit.

[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
48f1034180 Read email volume limit from and send emails count from MSS key data
Currently the starter plan has no access to premium so the plugin is
not able to fetch email volume limit using premium key endpoint.
Also the data are related to sending so it makes more sense to read those
from MSS key state.
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
8ce8524ee3 Adjust conditions for displaying pending approval notice
The method was displayed even when MSS was set but key was not valid.
This may happen when a key loses the access to MSS.
[MAILPOET-5103]
2023-04-26 10:57:40 +02:00
63be8969f3 Improve strings based on translators' feedback
[MAILPOET-5201]
2023-04-10 13:03:18 +02:00
535f880c8d Use a better transient key
[MAILPOET-5085]
2023-03-27 11:35:48 +02:00
0f4ffd7849 Use get_plugin_data from WPFunctions
[MAILPOET-5085]
2023-03-27 11:35:48 +02:00
cf88a3fab2 Display warning for unsupported WooCommerce version
[MAILPOET-5085]
2023-03-27 11:35:48 +02:00
518918b675 Change pending approval notice from error to warning
[MAILPOET-4528]
2023-02-27 11:59:05 +01:00
612500c612 Change the value of option name constant
[MAILPOET-4528]
2023-02-27 11:59:05 +01:00
22b0278003 Add notice when the subscription is waiting on approval
[MAILPOET-4528]
2023-02-27 11:59:05 +01:00
a9d8a2b164 Add condition for displaying
[MAILPOET-4830]
2023-02-15 12:19:35 +01:00
10ea5ec55b Remove extra sending method check for new users.
mta.method is probably not set yet.

MAILPOET-4929
2023-02-06 12:11:12 +01:00
805804f3d3 Add WP Filter to disable the mail function check
MAILPOET-4929
2023-02-06 12:11:12 +01:00
5b78ea9a69 Update test mail information for DisabledMailFunctionNotice
In this commit, we change the test mail subject, body and destination address

MAILPOET-4929
2023-02-06 12:11:12 +01:00
5d56a0368a Update outdated PHP version message
Changing the message to make it more clear that PHP >= 7.2 and <= 7.3 is
not recommended but still supported.

[MAILPOET-4933]
2023-01-31 13:58:52 +01:00
106db48f8d Display the PHP outdated version warning for sites running PHP <= 7.3
[MAILPOET-4933]
2023-01-31 13:58:52 +01:00
d0ff2a9eae Process also day format for custom fields
Although not currently offered in the UI, day format is partially implemented and passes validation.

[PREMIUM-215]
2023-01-26 14:12:22 +01:00
7aea3528c4 Allow full-site-editing and wpcomsh plugins in ConflictResolver
[MAILPOET-5017]
2023-01-26 09:31:27 +01:00
2ebcad1468 Exclude Notices from landingpage
MAILPOET-4797
2023-01-09 14:38:09 +01:00
a698e416ad Allow all permanent notices on all pages except the wizard page
[MAILPOET-4825]
2023-01-02 14:13:53 +01:00
49d9dd666b Fix coding styles issues in DisableMailFunctionNotice
[MAILPOET-4760]
2022-12-05 11:59:16 +01:00
53dda33c02 Update method and constant name
MAILPOET-4760
2022-12-05 10:25:28 +01:00
0bd627d3b1 Add support for checking misconfiguration of the PHP mail function
Some hosts do perform intentional misconfiguration of the mail function, causing it not to work.

When the mail function is misconfigured, we can still access and execute the mail function from within the codebase, but we get an error.

There’s no accurate way to know the PHP mail function is misconfigured. Unless we execute the function with all the proper parameters and check the exception error message against this error `Could not instantiate mail function.`

MAILPOET-4760
2022-12-05 10:25:28 +01:00
99d0eede80 Add tests for DisabledMailFunctionNotice
MAILPOET-4760
2022-12-05 10:25:28 +01:00
d09b4ca409 Add check for mail function and display notice if disabled
MAILPOET-4760
2022-12-05 10:25:28 +01:00
f369e399ed Distinguish main page and emails page
There are some cases where we link or redirect to main page but
actually we want to redirect to emails page. It happens that currently they are
the same page, but we need to distinguish these cases for the future when
we switch the main page to new homepage.
[MAILPOET-4824]
2022-11-30 11:42:41 +01:00
926620e8f8 Ignore strict types rule in all existing files that don't have it
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
4832771185 Refactor the captcha system
The current Captcha class has a lot of responsibilities. It renders the captcha
image, can check if a certain captcha type is a Google captcha, if a captcha is
required for a certain email. The SubscriberSubscribeController is not only in
charge of "controlling" the subscription process but also validates, whether a
captcha is correct or not. This architecture made it difficult to extend the
functionality and introduce the audio captcha feature.

Therefore this commit refactors the captcha architecture and tries to seperate
the different concerns into several classes and objects. Validation is now done
by validators.

The CaptchaPhrase now is in charge of keeping the captcha phrase consistent
between the image and the new audio, so that you can renew the captcha and both
captchas are in sync.

[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
f8c17730fc Update tracking campaign
[MAILPOET-4712]
2022-11-14 11:22:57 +01:00
93e43eee7a Update sales banner for Black Friday 2022
[MAILPOET-4712]
2022-11-14 11:22:57 +01:00
235552f91d Define Request utility class with isPost method
[MAILPOET-4703]
2022-11-11 09:21:30 +01:00
8e69299a6a Adjust naming and use wp wrapper I/O of direct usage
[MAILPOET-4702]
2022-11-09 12:36:44 +01:00
e3539b06a2 Define URL utility method to check if url is using https
[MAILPOET-4702]
2022-11-09 12:36:44 +01:00
a1c9be337f Update Black Friday content
- added timezone to sale duration
- changed date format
- link to annual billing period
- added tracking
- switch dates in "shouldDisplay" condition, so it reads as "from to" rather than "to from"
- capitalized button

[MAILPOET-4670]
2022-09-27 11:05:34 +02:00
b2e6cccc3a Update Black Friday notice for the current year campaign
[MAILPOET-4670]
2022-09-27 11:05:34 +02:00
d50aee988e Extract logic to get email domain to Helpers class
MAILPOET-4601
2022-09-26 11:13:40 +02:00
24cca1ba04 Cache total subscribers count, add tests
[MAILPOET-4416]
2022-08-24 12:18:44 +02:00
1ede10fce6 Update list of popular free ESP domains
[MAILPOET-4302]
2022-08-11 12:36:23 +02:00
4ffdd5bed5 Add declare(strict_types = 1); to newly added PHP files
[MAILPOET-4302]
2022-08-11 12:36:23 +02:00
fcd12b41b5 Update DMARC Status check
Handle edge case for domains where DMARC `p` policy is set to  reject or quarantine but `sp` (subdomain policy) is set to none

The previous implementation will return dmarcStatus === none when
sp is none but will not check for p policy as well.

If the `sp` is reject or quarantine, it would supersede the `p` status

MAILPOET-4302
2022-08-11 12:36:23 +02:00
f09616dc46 General refactor
Use a single click handler for css lookup

Set to mailpoet-js-button-authorize-email-and-sender-domain

MAILPOET-4302
2022-08-11 12:36:23 +02:00