Commit Graph

217 Commits

Author SHA1 Message Date
9b0cce9c0d Skip permission-callback scan for the line
The endpoint container can only return a Endpoint instance and checkPermissions
returns always a boolean. The QIT check therefore is a false positive

[MAILPOET-6398]
2024-12-19 15:00:47 +02:00
df171fdcc7 Add JSON endpoint for CAPTCHA rendering
To be used inside WP/WC registration form to construct URL for CAPTCHA page.

[MAILPOET-6325]
2024-12-17 13:56:00 +02:00
3bda992f13 Move CAPTCHA classes under MailPoet\Captcha dir
CAPTCHA usage is no longer tied to MP's subscription form.
2024-12-17 13:56:00 +02:00
d6d71c7cc3 Ensure the API request data are string
In case an array was passed to an endpoint or token, there was a fatal error.
[MAILPOET-6348]
2024-12-09 15:08:00 +01:00
55f2d83abb Prevent resending emails in case the email is not active
Automation email needs to be active in order to be sent.
If we allow resending to inactive emails, we would need to activate them first,
but this could be an unexpected side effect. And activating may cause sending other paused tasks as a side effect.
I expect the email to be active in the majority of cases, so users should not meet this notice very often.
[MAILPOET-6241]
2024-12-09 13:31:49 +01:00
79de8cc17c Set proper status when resending activable newsletter type
[MAILPOET-6241]
2024-12-09 13:31:49 +01:00
e6abec74d4 Refactor SubscriberFinder::addSubscribersToTaskFromSegments to return void
We removed the return value to prevent us from using it to check if there were recipients.
It is not 100% reliable for that purpose because it returns 0 for a repeated call.
[MAILPOET-6346]
2024-12-02 11:45:10 +01:00
3fbff8c83f Optimize newsletter reactivation
When reactivating a newsletter with many queues (e.g., a welcome email with a long history)
NewsletterEntity::getQueues may fail because it attempts to fetch all queues and instantiate
many entity objects.

In this commit, I optimize this by looking only into unfinished queues.
getUnfinishedQueues look for where countToProcess is higher than 0.
We set the count for welcome emails when we create a new queue
see f1ffc77bf3/mailpoet/lib/Newsletter/Scheduler/WelcomeScheduler.php (L140)
[MAILPOET-6310]
2024-11-11 12:21:22 +01:00
6ea5074649 Move WP translation function from __construct
According to this post https://make.wordpress.org/core/2024/10/21/i18n-improvements-6-7/, we are currently doing_it_wrong

MAILPOET-6298
2024-10-31 15:54:28 +02:00
55f21e8cd7 Fix inactive notifications clog sending queue
[MAILPOET-6259]
2024-10-28 11:09:57 +01:00
3e27192f83 Move fix for missing confirmation email hash to migrations
[MAILPOET-6273]
2024-10-21 11:25:13 +02:00
3d2ad79931 Ensure the newsletter has hash before preview
[MAILPOET-6273]
2024-10-21 11:25:13 +02:00
8f95229288 Remove no longer used class parameter 2024-10-14 13:30:16 +02:00
73e8ad717d Use controller over service to get authorized emails
A preliminary step to enable caching authorized emails data from the API
2024-10-14 13:30:16 +02:00
f483d40c19 Clean settings cache when reinstalling the plugin 2024-09-13 10:34:55 +02:00
f3d6813d97 Load data inconsistencies async from API
[MAILPOET-6219]
2024-09-11 15:19:35 +02:00
33f4b2d729 Replace usage of WP's current_time without gmt parameter in libs
This commit replaces usages by Carbon::now or in case we need a timestamp it
keeps current_time but adds the gtm parameter as true.
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
0584c63180 Replace old model table name constants with Doctrine repositories
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
f022cc23fc Allow pingBridge endpoint for all users with access to the plugin admin
We call the endpoint on the admin pages and the restricted access was causing
that editor users were getting false error notices.
[MAILPOET-6189]
2024-08-14 11:54:28 +03:00
cb5f533e54 Add API for fixing inconsistent data
[MAILPOET-1587]
2024-08-08 15:37:32 +02:00
7be9ade5f4 Prevent updating WordPress users data
[MAILPOET-6168]
2024-07-25 15:10:57 +02:00
2cdb12f712 Add Update Subscrber method to MP API
[MAILPOET-6168]
2024-07-25 15:10:57 +02:00
dec9a02ca4 Replace join query with a simple query
[MAILPOET-6148]
2024-07-19 15:03:35 +02:00
4af5720741 Refactor help endpoint
[MAILPOET-5755]
2024-07-04 08:04:34 +02:00
5253d79e81 Use types in new class properties
[MAILPOET-5755]
2024-07-04 08:04:34 +02:00
5847918409 Return 400 instead of 404 in Help API
[MAILPOET-5755]
2024-07-04 08:04:34 +02:00
88c0836443 Create endpoints to cancel and reschedule tasks
[MAILPOET-5755]
2024-07-04 08:04:34 +02:00
a6caf0a1e6 Add bridge ping endpoint
[MAILPOET-6030]
2024-06-12 11:16:51 +02:00
c59ae2d82c Add cron pinging endpoint
[MAILPOET-6029]
2024-06-10 17:07:31 +02:00
070fd30b6e Update the notice message to fix consistency
MAILPOET-6022
2024-06-07 17:17:57 +02:00
4f63437ccc Add html to the error message
MAILPOET-6022
2024-06-07 17:17:57 +02:00
95e595de42 Invalid API endpoint exception improvement
MAILPOET-6022
2024-06-07 17:17:57 +02:00
f91812b1da Allow Public API method updateList update segment description with the same segment name
MAILPOET-6056
2024-05-16 18:02:01 +02:00
4d278b5810 Restore trashed subscribers when using public API method subscribeToLists
MAILPOET-6023
2024-04-24 12:19:08 +01:00
6675a616b5 Display proper notices for segment actions
This updates some of the segment listing messages to include the name of
 the segment to avoid confusion, and allows for the possibility that
 bulk actions will work for some segments but not all, in which case we
 need to show both success and error messages.

MAILPOET-5395
2024-04-24 12:59:37 +02:00
423ce62100 Add lastSubscribedAt to the subscribers API response
[MAILPOET-5894]
2024-03-22 11:09:42 +01:00
435f638011 Apply rules on lib dir 2024-03-21 16:57:59 +01:00
60bf440bff Add check that updatedAt is set
[MAILPOET-5860]
2024-03-18 08:55:44 -05:00
4b3744717f Revert "Unify responses of newsletter editing API methods with get()"
This reverts commit e0b6cf7b41.

In the next commit, I will add a different fix for this issue.

[MAILPOET-5833]
2024-02-05 13:28:15 +01:00
d6da2af55b Extract newsletter bulk delete logic to a controller
Repositories shouldn't inject other repositories. Also, this solves circular DI dependency.

[MAILPOET-5845]
2024-02-02 12:48:40 +01:00
0409747216 Remove outdated code comment
This class doesn't use MailPoet\Tasks\Sending anymore.

[MAILPOET-5684]
2024-01-31 12:21:54 +01:00
19b33e15f5 Refactor SendingQueue::add() to use Doctrine instead of Tasks\Sending
[MAILPOET-5684]
2024-01-31 12:21:54 +01:00
ab23a01423 Modify the check for sender address
to implement rule for existing campaigns.

[MAILPOET-5832]
2024-01-20 13:39:23 +05:00
e0b6cf7b41 Unify responses of newsletter editing API methods with get()
[MAILPOET-5779]
2024-01-16 18:15:35 +01:00
1162b5aca1 Verify sender Address on newsletter activation
[MAILPOET-5786]
2024-01-15 19:34:21 +05:00
5735d21e4d Remove isDomainDmarcRestricted
[MAILPOET-5782]
2024-01-14 19:37:36 +05:00
1565151179 Show the campaign name alongside the subject in standard emails listing
[MAILPOET-5646]
2024-01-08 12:04:06 +05:00
525c80bac4 Fix PHPStan warnings in lib
[MAILPOET-5751]
2023-12-13 11:48:14 +01:00
dfe6076599 Unify quotes around IDs in error messages
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
b3665fd1bc Replace ReactStringReplace with createInterpolateElement
MAILPOET-5162
2023-11-02 17:09:49 +01:00