0, 'started' => time() ); Setting::setValue('mta_log', $mta_log); } return $mta_log; } static function getProcessingMethod($mta_config) { return ($mta_config['method'] === 'MailPoet') ? 'processBulkSubscribers' : 'processIndividualSubscriber'; } static function prepareSubscriberForSending($mailer, $subscriber) { return ($mailer instanceof \MailPoet\Mailer\Mailer) ? $mailer->transformSubscriber($subscriber) : false; } static function send($mailer, $newsletter, $subscriber) { return ($mailer instanceof \MailPoet\Mailer\Mailer) ? $mailer->mailer_instance->send($newsletter, $subscriber) : false; } static function checkSendingLimit($mta_config, $mta_log) { $frequency_interval = (int) $mta_config['frequency']['interval'] * 60; $frequency_limit = (int) $mta_config['frequency']['emails']; $elapsed_time = time() - (int) $mta_log['started']; if($mta_log['sent'] === $frequency_limit && $elapsed_time <= $frequency_interval ) { throw new \Exception(__('Sending frequency limit has been reached.')); } if($elapsed_time > $frequency_interval) { $mta_log = array( 'sent' => 0, 'started' => time() ); Setting::setValue('mta_log', $mta_log); } return; } }