Commit Graph

200 Commits

Author SHA1 Message Date
Rodrigo Primo
538647946e Refactor GATracking to use Doctrine instead of Paris
The test class was also refactored.

[MAILPOET-4592]
2022-09-14 10:38:01 +02:00
Jan Jakes
047bd94d98 Implement sending for automation emails
[PREMIUM-194]
2022-09-08 09:20:20 +02:00
Jan Lysý
f9261dbeb4 Use constants from ScheduledTaskEntity
[MAILPOET-4309]
2022-08-31 13:42:21 +02:00
Jan Lysý
fecb26b3b5 Replace usage ScheduledTask::touchAllByIds with repository
[MAILPOET-4309]
2022-08-31 13:42:21 +02:00
Jan Lysý
c1e9f86a32 Remove usage of old model for creating post notification history
[MAILPOET-4310]
2022-08-22 11:04:45 +02:00
Jan Lysý
5dfda9f3e2 Move task type const from entity to worker
[MAILPOET-4366]
2022-08-19 15:11:23 +02:00
Jan Lysý
bf74a506b7 Replace using Sending::getRunningQueues
[MAILPOET-4366]
2022-08-19 15:11:23 +02:00
David Remer
97e160bf67 Fix WordPress.WP.I18n.MissingArgDomain
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
218de96024 Fix WordPress.WP.I18n.MissingTranslatorsComment errors
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
b05e6d414c Remove WP\Functions::__ and other translate functions
Under the new sniffer rules, those functions produce errors and, when those methods
are used, the sniffer can not properly be applied.

[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
Rodrigo Primo
73f51523f3 Replace Paris models with Doctrine entities in SubscriberLinkTokens
[MAILPOET-4345]
2022-08-04 11:52:57 +02:00
Rodrigo Primo
af396021db Move the query to calculate the max subscriber ID to SubscribersRepository
[MAILPOET-4344]
2022-08-04 11:10:50 +02:00
Rodrigo Primo
8a29519b31 Replace Paris models with Doctrine entities in InactiveSubscribers
[MAILPOET-4344]
2022-08-04 11:10:50 +02:00
Rodrigo Primo
261f2eaa25 Replace Paris models with Doctrine entities in Shortcodes
[MAILPOET-4364]
2022-08-04 10:55:03 +02:00
Jan Lysý
155445b313 Remove old model from SendingQueue Migration
[MAILPOET-4358]
2022-08-01 13:09:20 +02:00
Rostislav Wolny
8d4799b050 Fix models check conditions in sending queue
[MAILPOET-4511]
2022-07-29 10:33:05 +02:00
Rostislav Wolny
5042cdd15e Refactor fetching newsletter options in SendingQueue using doctrine
[MAILPOET-4511]
2022-07-29 10:33:05 +02:00
Rodrigo Primo
ae13fcc771 Make sure $metas[] is always set for all subscribers in the foreach loop
See https://github.com/mailpoet/mailpoet/pull/4247#pullrequestreview-1050167548

[MAILPOET-4379]
2022-07-27 08:48:15 +02:00
Rodrigo Primo
932512b720 Replace Paris models with Doctrine entities in MetaInfoTest
In the process it was necessary to change the signature of the method
\MailPoet\Mailer\MetaInfo::getNewsletterMetaInfo() to accept a
SubscriberEntity instead of a Subscriber model and also change
\MailPoet\Cron\Workers\SendingQueue\SendingQueue::processQueue() as it
calls getNewsletterMetaInfo().

Doing this was straightforward, but changing the test class for
SendingQueue was a bit more involved. In particular, the test
SendingQueueTest::testItEnforcesExecutionLimitsAfterQueueProcessing().

This test is a bit brittle and was creating Subscriber models without
saving them to the database with invalid statuses and sources. Switching
getNewsletterMetaInfo() to use entities, while
SendingQueue::processQueue() still uses models, meant that it was
necessary to save the subscribers to the database. Because of this, it
was not possible anymore to use invalid statuses and sources, and
thus, the test changed a bit.

[MAILPOET-4379]
2022-07-27 08:48:15 +02:00
Sam Najian
fb49ce5ac4 Adjust usage of Renderer::render in SendingQueue\Tasks::Newsletter
[MAILPOET-4360]
2022-07-14 13:13:47 +02:00
Jan Lysý
3bd49fbc27 Fix annotation in AutomatedEmails
[MAILPOET-4308]
2022-05-19 14:18:18 +02:00
Jan Lysý
5ab04b8b22 Remove usage constant from the old model
[MAILPOET-4338]
2022-05-19 14:18:06 +02:00
Brezo Cordero
add4039495 Cast type of meta in SubscribersEmailCount task for backwards fix
[MAILPOET-4281]
2022-05-09 13:05:21 +02:00
David Remer
ca3f8bdc43 Make Scheduler non-static
[MAILPOET-4252]
2022-04-25 12:08:18 +02:00
Jan Lysý
1310e5afec Disable marking subscribers as processed on error
[MAILPOET-4200]
2022-04-25 10:58:12 +02:00
Rostislav Wolny
789385b0c4 Refactor mailerInstance property to mailerMethod
Naming mailerInstance was confusing since
it is not instance of Mailer class but instance of MailerMethod.
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
Rostislav Wolny
d4a8315933 Use mailerFactory in SendingQueue Mailer task
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
Rostislav Wolny
68cb5c4f79 Inject MailerFactory instead of mailer
We can't create mailer directly in DI container using the factory because it may fail in case
the plugin is not configured properly and prevent plugin from start.

The Mailer was previously injected because it contains lazy initialization.
The lazy initialization in the singleton Mailer service was dangerous,
because when used with some custom parameters it could cause that all services
that inject the Mailer from DI would use the custom config instead the default.
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
Jan Lysý
4a0534ac2a Remove deprecated upgrade link
[MAILPOET-4183]
2022-04-11 15:26:39 +02:00
Brezo Cordero
d0f645d239 Do not run email count if inactive subscribers disabled
[MAILPOET-4177]
2022-04-07 10:17:38 +02:00
Brezo Cordero
ba1da229a8 Add SimpleWorker to calculate Subscriber email_counts
[MAILPOET-4177]
2022-04-07 10:17:38 +02:00
David Remer
53fc49d1eb Simplify phpcs:disable comments
Additionally this commit contains a conversion from %d to %s in a query

[MAILPOET-4219]
2022-04-04 17:12:33 +02:00
David Remer
cb55cae1b2 Escape SQL queries following wp org sniffs
[MAILPOET-4129]
2022-04-04 17:12:33 +02:00
Sam Najian
a2ab1a3cfd Escape queries before passing to $wpdb methods
[MAILPOET-4219]
2022-04-04 17:12:33 +02:00
Rostislav Wolny
9b71a7804c Update Monolog/Monolog from v1 to v2
[MAILPOET-4175]
2022-03-28 13:49:41 +02:00
Rodrigo Primo
54ecb6065c Replace old ScheduledTask model with ScheduledTaskEntity in SubscribersFinder
[MAILPOET-3925]
2022-03-28 08:13:53 +02:00
Rodrigo Primo
0a73135c83 Replace old Segment model with Doctrine in SubscribersFinder
[MAILPOET-3925]
2022-03-28 08:13:53 +02:00
Jan Lysý
82e05dfe0f Add fixes for better compatibility with PHP8.1
[MAILPOET-4015]
2022-03-14 09:38:20 +01:00
Rostislav Wolny
6a6c04f168 Fetch only subscribed recipients when sending a newsletter
[MAILPOET-4166]
2022-03-07 16:05:48 +01:00
Jan Lysý
15877215d1 Use exception instead of early return
[MAILPOET-4047]
2022-03-01 10:58:31 +01:00
Jan Lysý
9fa2f7d051 Add annotation for the Bridge property
[MAILPOET-4047]
2022-03-01 10:58:31 +01:00
Rodrigo Primo
8c379cac1f Add bounced and unsubscribed stats to stats notification automated email
[MAILPOET-4102]
2022-02-16 11:19:02 +01:00
Rodrigo Primo
bdadcec987 Automated stats email: display clicks before opens and add machine opens
[MAILPOET-4102]
2022-02-16 11:19:02 +01:00
Rodrigo Primo
8fdd8b8120 Add unsubscribed and bounced data to stats notification email
[MAILPOET-3324]
2022-02-09 15:07:41 +01:00
Rodrigo Primo
6aae62505d Update stats notification email preheader to display clicks before opens
[MAILPOET-3324]
2022-02-09 15:07:41 +01:00
Rodrigo Primo
a43fd34f7d Stats email: display clicked in the first row and opened in the second
This commit makes some changes to the stats email. It displays just the
clicked stats in the first row and it moves the opened stats to the
second row. It also adds machine-opens alongside opens in the second
row.

[MAILPOET-3324]
2022-02-09 15:07:41 +01:00
David Remer
db6e963c94 Reset $metas array in processing method 'individual' [MAILPOET-3943] 2022-02-09 15:07:21 +01:00
Jan Lysý
6a20082782 Add check that createdAt is not null
[MAILPOET-4067]
2022-01-24 10:55:11 +01:00
Jan Lysý
5373c811b2 Add return annotation in BatchIterator
PHPStan reported an error in PHP8.1. When we use
the annotation ReturnTypeWillChange it caused another error
for PHPStan in combination in PHP7.2. The new annotations
are solving those issues.
[MAILPOET-4053]
2022-01-19 13:14:42 +01:00
Jan Jakes
9f790efbf0 Move plugin files to a subfolder
[MAILPOET-3988]
2022-01-18 15:30:22 +01:00