Changeset 3473833
- Timestamp:
- 03/03/2026 04:11:15 PM (4 weeks ago)
- Location:
- awin-advertiser-tracking/trunk
- Files:
-
- 2 edited
-
awin-advertiser-tracking.php (modified) (10 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
awin-advertiser-tracking/trunk/awin-advertiser-tracking.php
r3380023 r3473833 589 589 function approve_orders_daily() 590 590 { 591 error_log('AWIN: approve_orders_daily invoked'); 592 591 593 $options = get_option(AWIN_SETTINGS_KEY); 594 595 // replace value below with 0 for local testing without waiting 592 596 $approval_days = isset($options['awin_approval_days']) ? (int) $options['awin_approval_days'] : 30; 593 597 … … 595 599 $threshold_date = date('Y-m-d', strtotime('-' . $approval_days . ' days')); 596 600 601 $lookback_date = date('Y-m-d', strtotime($threshold_date . ' - ' . ($approval_days < 30 ? 30 : $approval_days ). ' days')); 602 597 603 $args = [ 598 'status' => 'completed', 599 'type' => 'shop_order', 600 'date_modified' => '>=' . $threshold_date, 601 'limit' => -1, 604 'status' => 'completed', 605 'type' => 'shop_order', 606 'date_completed' => $lookback_date . "..." . $threshold_date , 607 'limit' => -1, 608 'meta_query' => [ 609 [ 610 'key' => '_awin_sent_completed', 611 'compare' => 'NOT EXISTS', 612 ], 613 ], 602 614 ]; 603 615 604 616 $orders = wc_get_orders($args); 605 617 618 error_log('AWIN API: approve_orders_daily found ' . count($orders) . ' orders, searching between ' . $lookback_date . " and " . $threshold_date); 619 606 620 foreach ($orders as $order) { 607 $job_id = get_post_meta($order->get_id(), '_awin_job_id', true);608 621 $awin_sent_completed = get_post_meta($order->get_id(), '_awin_sent_completed', true); 609 622 610 623 if (! empty($awin_sent_completed)) { 611 624 continue; // Skip this iteration and move to the next order 625 } 626 627 if($order->get_total_refunded() > 0) { 628 continue; // Skip this iteration the order was amended before 612 629 } 613 630 … … 640 657 641 658 if (is_wp_error($response)) { 642 error_log('AWIN API : Failed to send approval request for order ' . $order->get_id());659 error_log('AWIN API ERROR: Failed to send request for order ' . $order->get_id() . " -- " . $response->get_error_message()); 643 660 } else { 644 661 $response_body = json_decode(wp_remote_retrieve_body($response), true); … … 647 664 update_post_meta($order->get_id(), '_awin_job_id', sanitize_text_field($response_body['jobId'])); 648 665 update_post_meta($order->get_id(), '_awin_sent_completed', true); 666 } else { 667 error_log('AWIN API: Approval Request successful but no Job ID returned for order ' . $order->get_id() . " -- " . json_encode($response_body)); 649 668 } 650 669 } … … 688 707 { 689 708 if (! wp_next_scheduled('awin_approve_orders_cron_hook')) { 690 wp_schedule_event(strtotime('00:00:00'), 'daily', 'awin_approve_orders_cron_hook'); 709 wp_schedule_event(strtotime('00:00:00'), 'daily', 'awin_approve_orders_cron_hook'); 691 710 } 692 711 } … … 960 979 // Handle API response 961 980 if (is_wp_error($response)) { 962 error_log('AWIN API : Failed to send request for order ' . $order_id);981 error_log('AWIN API ERROR: Failed to send request for order ' . $order_id . " -- " . $response->get_error_message()); 963 982 } else { 964 983 $response_body = json_decode(wp_remote_retrieve_body($response), true); … … 967 986 update_post_meta($order_id, '_awin_job_id', sanitize_text_field($response_body['jobId'])); 968 987 } else { 969 error_log('AWIN API : Request successful but no Job ID returned for order ' . $order_id);988 error_log('AWIN API ERROR: Decline Request successful but no Job ID returned for order ' . $order_id . " -- " . json_encode($response_body)); 970 989 } 971 990 } … … 986 1005 987 1006 if (empty($advertiserId) || empty($bearer_token)) { 988 error_log('A dvertiser ID or Bearer token is missing.');1007 error_log('AWIN WARNING:Advertiser ID or Bearer token is missing.'); 989 1008 return; 990 1009 } … … 1023 1042 // Handle the response from the API (logging, error checking, etc.) 1024 1043 if (is_wp_error($response)) { 1025 $error_message = $response->get_error_message();1044 error_log('AWIN API ERROR: Failed to send request for order ' . $order_id . " -- " . $response->get_error_message()); 1026 1045 } else { 1027 1046 $response_body = json_decode(wp_remote_retrieve_body($response), true); … … 1029 1048 if (isset($response_body['jobId'])) { 1030 1049 update_post_meta($order->get_id(), '_awin_job_id', sanitize_text_field($response_body['jobId'])); 1031 } 1032 } 1033 } 1034 1050 } else { 1051 error_log('AWIN API ERROR: Amend Request successful but no Job ID returned for order ' . $order_id . " -- " . json_encode($response_body)); 1052 } 1053 } 1054 } 1035 1055 } -
awin-advertiser-tracking/trunk/readme.txt
r3380027 r3473833 9 9 Requires at least: 3.5 10 10 Tested up to: 6.8.2 11 Stable tag: 2.0. 512 Version: 2.0. 511 Stable tag: 2.0.6 12 Version: 2.0.6 13 13 Requires PHP: 7.3 14 14 … … 50 50 51 51 == Changelog == 52 53 = 2.0.6 = 54 * Fixed and improved the order query used for Awin validation 52 55 53 56 = 2.0.5 =
Note: See TracChangeset
for help on using the changeset viewer.