This commits adds the sanitization right before the data is added to the
database (\MailPoet\Segments\SegmentsRepository::createOrUpdate()) and
removes the sanitization from
\MailPoet\Segments\DynamicSegments\SegmentSaveController::save() to
avoid sanitizing twice. save() calls createOrUpdate().
Before this commit, we were sanitizing the name and description of
dynamic segments but not regular segments.
[MAILPOET-5232]
We join using a string column and it may cause errors when the columns
using different collation. This commit adds collation check so that we can alter
collation in the join condition in case it is needed.
[MAILPOET-4568]
The wc_orders table doesn't contain user_id but has billing_email and customer_id.
These were two options I could use for joining subscribers table.
I could use the customer_id but I would have to join wc_customer_lookup table and then
the orders table. Instead of customer_id I chose the billing_email. Both tables have
indexes on the email columns and it is one join instead of two.
[MAILPOET-4568]
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).
[MAILPOET-3720]
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).
[MAILPOET-3720]
With the recent changes the code for building SQL query for email actions based filters became more complex.
This commit splits the code so that it is more readable.
[MAILPOET-3951]
Remove initial inner join on customers and orders tables to include non customers for 'none of' operator. Applies to Purchased products and Purchased in Categories segments.
[MAILPOET-4201]