Changeset 2367446
- Timestamp:
- 08/23/2020 06:38:56 PM (6 years ago)
- Location:
- infinitycrowds/trunk
- Files:
-
- 2 edited
-
includes/Emails/DeferSendingWooCommerceEmails.php (modified) (4 diffs)
-
infcrwds.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
infinitycrowds/trunk/includes/Emails/DeferSendingWooCommerceEmails.php
r2358360 r2367446 38 38 //'woocommerce_order_status_pending_to_on-hold' => array( 'WC_Email_New_Order', $this->default_defer_time ), // New order 39 39 'woocommerce_order_status_pending_to_processing' => array( 'WC_Email_New_Order', $this->default_defer_time ), 40 'woocommerce_order_status_failed_to_processing' => array( 'WC_Email_New_Order', $this->default_defer_time ), 40 'woocommerce_order_status_failed_to_processing' => array( 'WC_Email_New_Order', $this->default_defer_time ), 41 'woocommerce_order_status_pending_to_completed' => array( 'WC_Email_New_Order', $this->default_defer_time ), 41 42 // Additional transitition-to-email class info from @djm56 42 43 //'woocommerce_order_status_on-hold' => array('WC_Email_Customer_On_Hold_Order', $this->default_defer_time), // Order on hold. … … 48 49 $this->non_delayed_emails_id_to_class = array( 49 50 'woocommerce_order_status_pending_to_processing' => 'WC_Email_Customer_Processing_Order', 50 'woocommerce_order_status_failed_to_processing' => 'WC_Email_Customer_Processing_Order', 51 'woocommerce_order_status_failed_to_processing' => 'WC_Email_Customer_Processing_Order', 52 'woocommerce_order_status_pending_to_completed' => 'WC_Email_Customer_Completed_Order', 51 53 ); 52 54 … … 105 107 if ( array_key_exists( $filter, $this->email_id_to_class ) ) { 106 108 // TODO: Consider verifying that $args[0] is a valid order number. 107 //$order = wc_get_order( $args[ 0 ] ); 109 $order = wc_get_order( $args[ 0 ] ); 110 if (! is_a( $order, 'WC_Order' ) ) { 111 return false; 112 } 108 113 $order_num = $args[ 0 ]; 109 114 110 wp_schedule_single_event( time() + $this->get_email_defer_time( $filter ), 'send_deferred_woocommerce_email', array( $order_num, $filter ) ); 115 if(!wp_schedule_single_event( time() + $this->get_email_defer_time( $filter ), 'send_deferred_woocommerce_email', array( $order_num, $filter ) ));{ 116 InfcrwdsPlugin()->logger->log('delayed events error scheduling: '. $order_num); 117 return $true; 118 } 111 119 112 120 if( array_key_exists($filter, $this->non_delayed_emails_id_to_class)) { 113 InfcrwdsPlugin()->logger->log('not delayed emails scheduling for 5 sec: '. $filter);114 121 try { 115 wp_schedule_single_event( time() + 5, 'send_deferred_not_delayed_woocommerce_email', array( $order_num, $filter ) ); 122 if(wp_schedule_single_event( time() + 5, 'send_deferred_not_delayed_woocommerce_email', array( $order_num, $filter ) )) { 123 InfcrwdsPlugin()->logger->log('not delayed emails scheduling for 5 sec: '. $filter); 124 } 125 else { 126 InfcrwdsPlugin()->logger->log('not delayed events error scheduling: '. $order_num); 127 WC()->mailer()->get_emails()[ $this->get_email_class( $filter ) ]->trigger( $order_num ); 128 } 116 129 } catch (\Exception $e) { 117 130 InfcrwdsPlugin()->logger->error('error scheduling not delayed emails 5 sec: ' . $e->getMessage()); … … 135 148 function send_deferred_woocommerce_email( $order_id, $email_id ) { 136 149 //error_log( 'send_deferred_woocommerce_email for order: ' . $order_id ); 137 138 WC()->mailer()->get_emails()[ $this->get_email_class( $email_id ) ]->trigger( $order_id ); 150 $order = wc_get_order( $order_id ); 151 if ( is_a( $order, 'WC_Order' ) ) { 152 InfcrwdsPlugin()->logger->log('got to send delayed emails '. $email_id . 'order' . $order_id); 153 WC()->mailer()->get_emails()[ $this->get_email_class( $email_id ) ]->trigger( $order_id ); 154 } else { 155 InfcrwdsPlugin()->logger->log('none order'. $order_id); 156 } 139 157 } 140 158 141 159 function send_deferred_not_delayed__woocommerce_email( $order_id, $email_id ) { 142 InfcrwdsPlugin()->logger->log('got to send not delayed emails '. $email_id); 143 try { 144 WC()->mailer()->get_emails()[ $this->get_not_delayed_email_class( $email_id ) ]->trigger( $order_id ); 145 } catch (\Exception $e) { 146 InfcrwdsPlugin()->logger->error('error sending not delayed emails: ' . $e->getMessage()); 160 $order = wc_get_order( $order_id ); 161 if ( is_a( $order, 'WC_Order' ) ) { 162 InfcrwdsPlugin()->logger->log('got to send not delayed emails '. $email_id . 'order' . $order_id); 163 try { 164 WC()->mailer()->get_emails()[ $this->get_not_delayed_email_class( $email_id ) ]->trigger( $order_id ); 165 } catch (\Exception $e) { 166 InfcrwdsPlugin()->logger->error('error sending not delayed emails: ' . $e->getMessage()); 167 } 168 } 169 else { 170 InfcrwdsPlugin()->logger->log('none order'. $order_id); 147 171 } 148 172 } -
infinitycrowds/trunk/infcrwds.php
r2367343 r2367446 14 14 * Plugin URI: https://infinitycrowd.io 15 15 * Description: Upsell and Retention Platform 16 * Version: 1.0.14 616 * Version: 1.0.147 17 17 * Author: Infinitycrowds 18 18 * Author URI: https://infinitycrowd.io … … 119 119 120 120 function define_plugin_properties() { 121 define( 'INFCWDS_VERSION', '1.0.14 6' );121 define( 'INFCWDS_VERSION', '1.0.147' ); 122 122 define( 'INFCWDS_MIN_WC_VERSION', '3.0.0' ); 123 123 define( 'INFCWDS_MIN_WP_VERSION', '4.9' );
Note: See TracChangeset
for help on using the changeset viewer.