Rostislav Wolny
ed8de3eb17
Save last engagement when tracking opens
...
[MAILPOET-3762]
2021-09-07 10:07:08 +02:00
Rostislav Wolny
cd9f83834e
Add lastEngagementAt to SubscriberEntity
...
[MAILPOET-3762]
2021-09-07 10:07:08 +02:00
Rostislav Wolny
4a72a9c2f1
Add column for saving last engagement date for a subscriber
...
[MAILPOET-3762]
2021-09-07 10:07:08 +02:00
Jan Lysý
05c7230543
Fix unsubscribe URL for preview when the user isn't logged in
...
[MAILPOET-3730]
2021-09-06 12:20:16 +02:00
Jan Lysý
00bd5e2e7d
Schedule recalculation only when another is not running or scheduled
...
[MAILPOET-3776]
2021-09-06 12:14:38 +02:00
Jan Lysý
aec9ecbcde
Change return value from getItem in TransientCache
...
[MAILPOET-3778]
2021-09-06 12:14:38 +02:00
Brezo Cordero
1de3aef76f
Use data factories on tests
...
[MAILPOET-3637]
2021-09-06 10:08:09 +02:00
Brezo Cordero
69d9da9f17
Removed unused variable on ViewBrowserRenderer
...
[MAILPOET-3673]
2021-09-06 10:08:09 +02:00
Brezo Cordero
9d9efccd98
Refactor ViewInBrowser to Doctrine
...
Use NewsletterEntity and NewslettersRepository instead of MailPoet\Models\Newsletter.
[MAILPOET-3673]
2021-09-06 10:08:09 +02:00
Rostislav Wolny
14ff48c7fa
Differentiate machine and humans opens on subscriber stats API
...
[MAILPOET-3741]
2021-08-31 15:15:54 +02:00
Rostislav Wolny
54c83a0dac
Fix woo transactional email heading rendering
...
[MAILPOET-3758]
2021-08-31 12:23:02 +02:00
Rostislav Wolny
3e57bc187f
Fix subscriber in subscription via checkout for older WooCommerce
...
We use hidden field to indicate that the option checkbox was rendered.
The support for the hidden field was added in Woo 4.6.0 (51afe3207a (diff-019fb1a3da8e1f8d9f148c7407195e640587dfeb3e7830ef8e8fa6f29aa0a6ed)
)
This commit adds a workaround that can be removed we drop support of older WooCommerce versions.
[MAILPOET-3772]
2021-08-31 12:22:01 +02:00
Rodrigo Primo
f8388c5497
Fix reply-to address when sending WP e-mails
...
This commit makes sure that the reply-to set for WP e-mails is
preserved when MailPoet is used to send them. Before this change,
MailPoet would ignore whatever was set for the reply-to field for WP
e-mails and use the same address as the one used for the sender instead.
I'm not super happy with the solution proposed here. I couldn't find an
easy way to simple set the reply-to address in the Mailer class and that
is why I'm calling Mailer::init() inside WordPressMailer.
[MAILPOET-3707]
2021-08-30 15:21:09 +02:00
Pavel Dohnal
a53a680e8c
Make naming more consistent
...
[MAILPOET-3740]
2021-08-30 14:04:29 +02:00
Pavel Dohnal
464f23c82b
Display machine opens
...
[MAILPOET-3740]
2021-08-30 14:04:29 +02:00
Rostislav Wolny
abc965e143
Add support for colors in column block in form editor
...
[MAILPOET-3654]
2021-08-30 12:10:55 +02:00
Rostislav Wolny
8d0d2e168b
Add support for custom padding in form column
...
[MAILPOET-3654]
2021-08-30 12:10:55 +02:00
Rostislav Wolny
3700003e15
Don't render form column width style if only unit is saved
...
[MAILPOET-3654]
2021-08-30 12:10:55 +02:00
Rostislav Wolny
e5c90821be
Add support for isStackedOnMobile for columns
...
[MAILPOET-3564]
2021-08-30 12:10:55 +02:00
Rostislav Wolny
bd41098e5e
Fix saving and rendering form columns widths
...
[MAILPOET-3654]
2021-08-30 12:10:55 +02:00
Rodrigo Primo
8b7815caf8
Use Doctrine for the opens and clicks exporters
...
This commit refactors the code that handles exporting e-mails opens and
clicks when generating the personal data file to use Doctrine instead of
Paris. I opted to do this in this task as opens and clicks code share
some functionality, and I didn't want to add more code that relies on
Paris, as we are eventually going to remove it.
[MAILPOET-3738]
2021-08-25 17:01:33 +02:00
Rodrigo Primo
780ac5e53c
Add email opens data when exporting personal data
...
This commit adds stats about email opens data to the personal data
exported by WP.
To do this, I refactored the code that adds email clicks stats to use
base abstract class with functionality that is shared between both
exporters.
[MAILPOET-3738]
2021-08-25 17:01:33 +02:00
Rodrigo Primo
4fdcee1064
Add the new user agent field when exporting data about clicks
...
This commit includes information about the user agent used when clicking
links in e-mails to the data that MailPoet exports when the WP tool
"Export Personal Data" is used.
When information about the user agent is not available, the string
'Unknown' is displayed instead.
This information is available under the section "MailPoet Emails
Clicks".
[MAILPOET-3738]
2021-08-25 17:01:33 +02:00
Pavel Dohnal
04424f6389
Fix a conflict when a phpmailer is already defined
...
[MAILPOET-3769]
2021-08-25 12:45:57 +02:00
Pavel Dohnal
e4aca4f6de
Refactor endpoint to doctrine
...
[MAILPOET-3626]
2021-08-25 09:22:44 +02:00
Jan Lysý
ee84dc382b
Change user_agent_type column to tinyint
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
292f075abe
Improve user agent overriding
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
ed46c48706
Calculate statistics only from data with type human
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
71ce62d027
Set user agent type in statistic tables
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
34ad21187d
Add userAgentType property to statistics entities
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
9192602adf
Add a new column user_agent_type to statistics tables
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Jan Lysý
f6513ab2b7
Add user-agent type detection
...
[MAILPOET-3736]
2021-08-23 16:37:59 +02:00
Pavel Dohnal
5d967f3457
Use a single string instead of array of strings
...
[MAILPOET-3625]
2021-08-23 14:18:57 +02:00
Pavel Dohnal
3b7752daed
Refactor creating new list to Doctrine
...
[MAILPOET-3625]
2021-08-23 14:18:57 +02:00
Pavel Dohnal
3d1e2c5a2e
Refactor setupWooCommerceInitialImport to Doctrine
...
[MAILPOET-3625]
2021-08-23 14:18:57 +02:00
Ján Mikláš
0daaac8abf
Ignore Html2Text::convert errors in confirmation email
...
[MAILPOET-3756]
2021-08-23 11:33:57 +02:00
Jan Lysý
79a2d1f934
Check that data are not array before base64 decoding
...
[MAILPOET-3699]
2021-08-23 09:51:29 +02:00
Brezo Cordero
67b88b862e
Delete old orphan SubscriberSegments
...
On PreFlush we clean up old SubscriberSegments referencing deleted segments. This prevents errors when updating subscribers.
[MAILPOET-3652]
2021-08-19 09:04:31 +02:00
Pavel Dohnal
bb52329168
Track user agent on click
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Pavel Dohnal
0b675680ef
Refactor click tracking to Doctrine
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Pavel Dohnal
7197be3116
Override user agent on open
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Pavel Dohnal
9f672adad4
Add test for existing user agent
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Pavel Dohnal
a84471b65c
Save user agent on open
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Pavel Dohnal
4f37cde9f9
Create table for user agents
...
[MAILPOET-3735]
2021-08-18 14:41:20 +02:00
Jan Lysý
a9621875bd
Fix phpstan errors from new version
...
[MAILPOET-3725]
2021-08-16 15:56:39 +02:00
Rodrigo Primo
55dc8ac902
Protect against fatal error when rendering e-mail styles
...
This commit protects the code that renders styles for e-mails against a
fatal error that could happen if the variable $styles passed to Renderer::renderStyles()
is not an array of arrays. To do that, the code will now check if each value
of the array is an array. If not, we move on to the next value instead of
calling StylesHelper::setStyle(). I also added type hints to
StylesHelper::setStyle() and some of the methods that it calls to make
it more explicit what it expects to receive and what it returns.
[MAILPOET-3731]
2021-08-16 14:36:15 +02:00
Jan Lysý
41a3ac0268
Remove mso condition for include fonts for newsletters editor
...
[MAILPOET-3468]
2021-08-16 11:44:41 +02:00
Jan Lysý
f6a881da98
Remove redundant important from style
...
We test stripping redundant from rendered emails. I removed redundant important option.
It is based on this article:
https://www.litmus.com/blog/a-guide-to-bulletproof-buttons-in-email-design/
[MAILPOET-3468]
2021-08-16 11:44:41 +02:00
Jan Lysý
dfa0d03a67
Replace incorrect opening mso if in postProcessTemplate
...
[MAILPOET-3468]
2021-08-16 11:44:41 +02:00
Jan Lysý
75690d7a45
Add non mso condition around button
...
[MAILPOET-3468]
2021-08-16 11:44:41 +02:00