Commit Graph

172 Commits

Author SHA1 Message Date
John Oleksowicz
03da98e5df Avoid simple text replacements in SQL if possible
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
1cab4a944a Use standard joins where possible
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
509a79fd1a Proper method naming
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
68902a206d Extract more to helpers
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
26ec430942 Refactor to use DI instead of inheritance
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
fa43495d81 Minor refactoring
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
c747b71829 Simplify subquery
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
d505bffcfd Refactor to use shared date functionality
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
caba21b8af Fix relative date calculation
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
d52113d104 Extract shared date filter functionality
MAILPOET-4986
2023-04-03 10:20:02 +02:00
John Oleksowicz
37226202bc Implement purchase date dynamic filter
MAILPOET-4986
2023-04-03 10:20:02 +02:00
Rodrigo Primo
b963d8b988 Add a new WooCommerce segment based on the value of the orders
[MAILPOET-4988]
2023-03-28 15:51:01 +02:00
Rostislav Wolny
58b2ac4a60 Add collation check to WooSubscriptions filter
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]
2023-03-27 12:26:35 +02:00
Rostislav Wolny
bb9b04ecc8 Update WooSubscription filter to work with HPOS data
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]
2023-03-27 12:26:35 +02:00
Sam Najian
2bbaa246d7 Sanitize name and description of segment when saving
[MAILPOET-4942]
2023-01-16 13:59:30 +01:00
Rostislav Wolny
78446d174a Fix quotes in a queries processed by $wpdb
These queries failed when ANSI_QUOTES mode is enabled
[MAILPOET-4887]
2022-12-12 13:59:09 +01:00
Jan Jakes
926620e8f8 Ignore strict types rule in all existing files that don't have it
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
Oluwaseun Olorunsola
8b922681b6 Use boolean instead of integer for displayInManageSubscriptionPage column
MAILPOET-4669
2022-11-21 15:21:29 +01:00
Oluwaseun Olorunsola
48181994d8 Handle saving and loading list page. Add support for showInManageSubscriptionPage checkbox input
MAILPOET-4669
2022-11-21 15:21:29 +01:00
David Remer
5c6f32488a Remove old hook
[MAILPOET-4773]
2022-11-07 04:41:47 -06:00
David Remer
9554727370 Fire mailpoet_segment_subscribed when user registers and is subscribed
When no confirmation mail gets send, the user is subscribed immediately. In this case
we need to fire the mailpoet_segment_subscribed action, so the trigger can listen to this
event.

[MAILPOET-4773]
2022-11-07 04:41:47 -06:00
Jan Lysý
43922a7c27 Notify about subscriber changes in WP and Woo synchronizations
[MAILPOET-4727]
2022-10-27 09:31:40 +02:00
Jan Lysý
12c0605f92 Fix variable name typo
[MAILPOET-4727]
2022-10-27 09:31:40 +02:00
Rodrigo Primo
1010b64c05 Update updateNames() to work with Woo Custom Order Tables
[MAILPOET-4711]
2022-10-19 11:32:41 +02:00
Rodrigo Primo
50b18834d2 Adapt query to get registered customers to work with custom orders tables
[MAILPOET-4569]
2022-10-10 09:21:38 +02:00
Rodrigo Primo
e3cf1a047b Adapt query to get guest customers to work with custom orders tables
[MAILPOET-4569]
2022-10-10 09:21:38 +02:00
Rodrigo Primo
05fb310130 Use different query to get emails and orderds IDs if WooCoomerce COT is enabled
[MAILPOET-4577]
2022-10-05 10:47:06 +02:00
Rodrigo Primo
b6bdce3535 Change insertSubscriberFromOrder() to use WooCommerce methods
This commit changes
\MailPoet\Segments\WooCommerce::insertSubscriberFromOrder() to use
WooCommerce method instead of querying the database directly. This is
needed as WooCommerce is moving away from WP tables and creating its own
tables.

[MAILPOET-4570]
2022-10-03 09:30:42 +02:00
Rodrigo Primo
154a812776 Make SegmentsRepository::getWPUsersSegment() behave like Segment::getWPSegment()
This commit changes SegmentsRepository::getWPUsersSegment() so that it
behaves like Models\Segment::getWPSegment() and creates a WP segment
when none is found. This is needed to replace the latter with the former
in a subsequent commit.

[MAILPOET-4306]
2022-09-26 14:18:01 +02:00
Jan Jakes
24cca1ba04 Cache total subscribers count, add tests
[MAILPOET-4416]
2022-08-24 12:18:44 +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
Jan Lysý
ee00093421 Add new filter dependency on premium plugin
[PREMIUM-196]
2022-07-25 09:32:02 +02:00
Jan Lysý
1eef663ca3 Add new dynamic filter for tags
[PREMIUM-196]
2022-07-25 09:32:02 +02:00
David Remer
c436f18e8e Decode html entities of WP_User data
[MAILPOET-4241]
2022-06-20 08:43:51 +02:00
alex-mailpoet
2fe95320e2 Add MailPoet Premium integration for automation
[PREMIUM-180]
2022-06-09 13:30:54 +02:00
Sam Najian
609d80ca05 Fix issue of getting none-customer subs for # order filter
[MAILPOET-4390]
2022-06-06 12:06:07 +02:00
Brezo Cordero
75eb7f6900 Move some types from comments to signature
[MAILPOET-3720]
2022-05-23 12:04:36 +02:00
Brezo Cordero
3f8ee47659 Remove PHPStan level 6 errors from SegmentsRepository.php
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).
I have modified bulkDelete to be similar to bulkDelete on SubscribersRepository.php. This function is used in MailPoet\Test\API\JSON\v1\Segments.

[MAILPOET-3720]
2022-05-23 12:04:36 +02:00
Brezo Cordero
ec47cf429a Remove PHPStan level 6 errors from DynamicSegments
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).

[MAILPOET-3720]
2022-05-23 12:04:36 +02:00
Brezo Cordero
1885825e24 Remove PHPStan level 6 errors from DynamicSegments Filters
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).

[MAILPOET-3720]
2022-05-23 12:04:36 +02:00
Brezo Cordero
6d5eed6190 Remove PHPStan level 6 errors from Segments\WooCommerce
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).

[MAILPOET-3720]
2022-05-23 12:04:12 +02:00
Brezo Cordero
f6dfb19362 Remove PHPStan level 6 errors from Segments\WP
Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).
array_walk on import.php was expecting the key as the second parameter to the function. I have switched it to array_map.

[MAILPOET-3720]
2022-05-23 12:04:12 +02:00
Sam Najian
69a82a0213 Fix issue with collation conflict failing the tests
If the default collation of database would vary from the one
from created tables it would cause the temp table created to
have a different collation than the main tables

[MAILPOET-4251]
2022-05-17 14:17:26 +02:00
David Remer
7b33a94d37 Add set_user_role hook
[MAILPOET-2834]
2022-05-12 11:41:57 +02:00
David Remer
9bd6f29870 Add add_user_role hook to synchronizeUser
[MAILPOET-2834]
2022-05-12 11:41:57 +02:00
John Oleksowicz
95857d74b9 Check for uniqueness when updating name
[MAILPOET-4199]
2022-04-18 20:03:42 +02:00
Jan Lysý
6ee1955f53 Improve not_equals condition for custom fields
[MAILPOET-4157]
2022-04-18 14:11:52 +02:00
Jan Jakes
bc936ef13e Quote emails when inserting/updating WooCommerce subscribers
[MAILPOET-4248]
2022-04-14 09:41:55 +02:00
Brezo Cordero
cfc7c623e3 Separate insert from update on duplicate
[MAILPOET-4248]
2022-04-14 09:41:55 +02:00