Commit Graph

202 Commits

Author SHA1 Message Date
Jan Jakes
a29233407f Use cached WordPress and WooCommerce segment entities 2024-09-13 10:34:55 +02:00
Jan Jakes
9ab5c928de Remove deprecated parameters (reported by WPCS)
[MAILPOET-6150]
2024-08-29 17:23:34 +02:00
Jan Lysý
b1248cca0d Use placeholders and comments
[MAILPOET-6150]
2024-08-29 17:23:34 +02:00
Jan Jakes
f584a673cb Temporarily skip queries incompatible with SQLite
[MAILPOET-6185]
2024-08-22 13:28:09 +02:00
Rostislav Wolny
33f4b2d729 Replace usage of WP's current_time without gmt parameter in libs
This commit replaces usages by Carbon::now or in case we need a timestamp it
keeps current_time but adds the gtm parameter as true.
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Rostislav Wolny
9f56ee67b7 Skip null ids when deleting WP list subscribers with invalid emails
Theoretically, we may end up running the delete query with a condition like
WHERE wp_user_id IN (null, null);
This is a tiny optimization to skip null IDs to avoid running such a query.
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
8c4b2cf3ef Replace deprecated Statement::bindParam() and Statement::exec() with params
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
c25d7d6b53 Use single quotes for strings in SQL queries
This is more standard SQL and required by WPDB.

[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
ff6a98fae1 Replace deprecated array types with Doctrine's ArrayParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
c7dc7e5a24 Replace PDO types with Doctrine's ParameterType
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Jan Jakes
0584c63180 Replace old model table name constants with Doctrine repositories
[MAILPOET-6142]
2024-08-19 15:29:42 +02:00
Oluwaseun Olorunsola
5789a61075 Update ListingRepository::applySearch abstract function to reflect new updates
MAILPOET-6072
2024-06-20 13:31:46 +02:00
Jan Lysý
26a98f1000 Update composer package doctrine/dbal
We cannot update to the latest version of the dbal 3 because there is a another package conflict.
[MAILPOET-6101]
2024-06-17 12:38:08 +02:00
Pavel Dohnal
79a05af23c Fix WooCommerce sync with empty email
[MAILPOET-5885]
2024-06-06 11:23:44 +02:00
Oluwaseun Olorunsola
e6c31ee737 Set guest user by default to unsubscribed
The status will be updated when the user opts in for marketing email on checkout

MAILPOET-5963
2024-05-18 20:33:33 +02:00
Mike Jolley
435f638011 Apply rules on lib dir 2024-03-21 16:57:59 +01:00
John Oleksowicz
45dba06b7d Remove old constant
MAILPOET-4985
2024-03-13 10:24:42 +01:00
John Oleksowicz
a9140a702e Add backend logic for purchase with tag filter
MAILPOET-4985
2024-03-13 10:24:42 +01:00
John Oleksowicz
604de62af6 Add filter data mapper tests
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
a4a2ef3b1f Add support for local variation attributes
In WooCommerce it's possible to create attributes that are local to a
specific product. When these attributes are used to generate variations,
 they are stored in the postmeta table.

MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
24e38d6752 Add explanation of the getLookupData method
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
6307cfdcff Add filter data validation
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
bfa3770d99 Add backend logic for purchase by attribute filter
MAILPOET-5467
2024-03-11 10:52:30 +01:00
Jan Jakes
51a14a45d3 Use refreshAll() for updates, refresh subscribers/subscriber custom fields conditionally
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
alex-mpoet
014b8249bb Replace entityManager->clear with a helper, add cleanup to WP user sync
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
Rodrigo Primo
6f98634b94 Replace Subscriber and SubscriberSegment models with Doctrine in \MailPoet\Segments\WP
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
Rodrigo Primo
374fbe6867 Replace Segment model with Doctrine in \MailPoet\Segments\WP
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
Rodrigo Primo
b63834b02b Change return type as the method always returns a segment
[MAILPOET-5752]
2024-02-12 15:33:28 +01:00
John Oleksowicz
dda7da465f Update # of orders filter for orders with coupon
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
09a5a5cbbc Map number of orders with coupon code
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
d477b01111 Fix ALL query
The previous implementation relied on INTERSECT, which isn't available
in MySQL

MAILPOET-5264
2023-12-18 12:02:48 +01:00
John Oleksowicz
08f2540bf9 Fix logic for ALL operator
Determining the proper conditions for product categories when we are
looking for a customer who purchased all of the provided category IDs is
 tricky because we need to account for the hierarchical nature of these
 categories. In order to avoid more complex logic, I decided to apply
 the ANY logic for each individual category ID and then return the
 intersection of those queries.

MAILPOET-5264
2023-12-18 12:02:48 +01:00
John Oleksowicz
88263067b7 Fix woo category filter
The previous implementation was based on the number of order IDs, which
was not reliable.

MAILPOET-5264
2023-12-18 12:02:48 +01:00
Jan Lysý
525c80bac4 Fix PHPStan warnings in lib
[MAILPOET-5751]
2023-12-13 11:48:14 +01:00
 Ján Mikláš
dfe6076599 Unify quotes around IDs in error messages
[MAILPOET-5729]
2023-11-24 08:10:35 +02:00
John Oleksowicz
5972db6a47 Handle errors when filtering dynamic segments
When a segment has an invalid filter we don't want that error to
break other pages in the MailPoet admin.

MAILPOET-5538
2023-11-02 13:19:51 +01:00
Jan Jakes
b734a0642f Refresh task entity when any subscribers were added from segments
This is to keep $task->getSubscribers() up-to-date.

[MAILPOET-4375]
2023-11-02 12:53:36 +01:00
John Oleksowicz
9985405d82 Add backend logic for number of clicks filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
c28eed2388 Backend logic for number of emails received
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
10f593bf2c Backend logic for first order filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
43107ac823 Add note about filters to SubscriberTag
MAILPOET-5632
2023-10-13 11:21:42 +02:00
John Oleksowicz
9b7296979e Don't attempt to use WC functions if not enabled
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
b1dd110bf8 Add lookup data retrieval for used shipping method
For ease of lookup, I changed the helper to return an array with keys
corresponding to the instanceId of the shipping methods. I couldn't see
anywhere else in the codebase where the keys would have mattered.

MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
97a53cb1aa Add lookup data retrieval for used payment method
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
c4fc8649f4 Add lookup data retrieval for used coupon code
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
67cff8992e Add lookup data retrieval for woo product
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
9d8fb08026 Add lookup data retrieval for woo category
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
54461d89ba Add lookup data retrieval for wordpress user role
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
d1f77d3ee5 Add lookup data retrieval for subscribed to list
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
af9a6cbb67 Add lookup data retrieval for subscribed via form
MAILPOET-5625
2023-10-13 11:21:42 +02:00