/** * 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'); }
/** * 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(); } } }