Esempio n. 1
0
 /**
  * Schedule the daily summary recurring emails
  */
 public function init_daily_summary()
 {
     if (!function_exists('wc_next_scheduled_action')) {
         return;
     }
     if (wc_next_scheduled_action('fue_send_summary')) {
         wc_unschedule_action('fue_send_summary');
     }
     FUE_Sending_Scheduler::queue_daily_summary_email();
     delete_option('fue_init_daily_summary');
 }
Esempio n. 2
0
 /**
  * Fired everytime an email is sent, check to make sure that there
  * is a scheduled daily summary email in the queue.
  */
 public function register_action_scheduler_for_daily_summary()
 {
     $items = Follow_Up_Emails::instance()->scheduler->get_items(array('is_sent' => 0, 'email_trigger' => 'Daily Summary'));
     if (empty($items)) {
         // there are no unsent daily_summary emails in the queue
         FUE_Sending_Scheduler::queue_daily_summary_email();
     } else {
         $scheduled = false;
         foreach ($items as $item) {
             $param = array('email_order_id' => $item->id);
             $actions = wc_get_scheduled_actions(array('hook' => 'sfn_followup_emails', 'args' => $param, 'status' => ActionScheduler_Store::STATUS_PENDING));
             if (!empty($actions)) {
                 $scheduled = true;
                 break;
             }
         }
         if (!$scheduled) {
             FUE_Sending_Scheduler::queue_daily_summary_email();
         }
     }
 }