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]
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]
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]
Allow import subscribers with empty confirmed_ip or subscribed_ip when one of the columns is selected in the last step of the import.
Don't allow importing invalid IP addresses - still import the subscriber but remove the invalid IP address.
[MAILPOET-3665]
This commit attempts to fix the integration test
SubscriberListingRepositoryTest::testReturnsCorrectCountForSubscribersInDynamicSegment()
that was failing sometimes on CircleCI. My theory is that the test was
failing because we were using created_at to order the subscribers in the
query that is used to get subscribers in a given dynamic segment, but
there is a chance the the value of this field is the same for all the
three subscribers that are created in this test. As this could lead to a
situation where the order of the returned subscribers changes, causing
the test to fail. To work around that, I changed the test to order the
results by ID. This way we should always get the subscribers in the same
order.
[MAILPOET-3451]