Add public keyword to methods

[MAILPOET-2413]
This commit is contained in:
Amine Ben hammou
2019-12-26 12:56:49 +01:00
committed by wxa
parent ec409042d5
commit 43df66d162
823 changed files with 4440 additions and 4440 deletions

View File

@@ -13,16 +13,16 @@ class AuthorizedSendingEmailsCheck extends SimpleWorker {
/** @var AuthorizedEmailsController */
private $authorized_emails_controller;
function __construct(AuthorizedEmailsController $authorized_emails_controller) {
public function __construct(AuthorizedEmailsController $authorized_emails_controller) {
$this->authorized_emails_controller = $authorized_emails_controller;
parent::__construct();
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return Bridge::isMPSendingServiceEnabled();
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$this->authorized_emails_controller->checkAuthorizedEmailAddresses();
return true;
}

View File

@@ -18,17 +18,17 @@ class Beamer extends SimpleWorker {
/** @var WPFunctions */
private $wp;
function __construct(SettingsController $settings, WPFunctions $wp) {
public function __construct(SettingsController $settings, WPFunctions $wp) {
parent::__construct();
$this->settings = $settings;
$this->wp = $wp;
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
return $this->setLastAnnouncementDate();
}
function setLastAnnouncementDate() {
public function setLastAnnouncementDate() {
$response = $this->wp->wpRemoteGet(self::API_URL . '/posts?published=true&maxResults=1', [
'headers' => [
'Beamer-Api-Key' => self::API_KEY,
@@ -42,7 +42,7 @@ class Beamer extends SimpleWorker {
return true;
}
function getNextRunDate() {
public function getNextRunDate() {
$wp = new WPFunctions;
$date = Carbon::createFromTimestamp($wp->currentTime('timestamp'));
return $date->hour(11)->minute(00)->second(00)->addDay();

View File

@@ -29,22 +29,22 @@ class Bounce extends SimpleWorker {
/** @var SettingsController */
private $settings;
function __construct(SettingsController $settings) {
public function __construct(SettingsController $settings) {
$this->settings = $settings;
parent::__construct();
}
function init() {
public function init() {
if (!$this->api) {
$this->api = new API($this->settings->get(Mailer::MAILER_CONFIG_SETTING_NAME)['mailpoet_api_key']);
}
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return Bridge::isMPSendingServiceEnabled();
}
function prepareTaskStrategy(ScheduledTask $task, $timer) {
public function prepareTaskStrategy(ScheduledTask $task, $timer) {
BounceTask::prepareSubscribers($task);
if (!ScheduledTaskSubscriber::getUnprocessedCount($task->id)) {
@@ -54,7 +54,7 @@ class Bounce extends SimpleWorker {
return true;
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$subscriber_batches = new BatchIterator($task->id, self::BATCH_SIZE);
if (count($subscriber_batches) === 0) {
@@ -82,12 +82,12 @@ class Bounce extends SimpleWorker {
return true;
}
function processEmails(array $subscriber_emails) {
public function processEmails(array $subscriber_emails) {
$checked_emails = $this->api->checkBounces($subscriber_emails);
$this->processApiResponse((array)$checked_emails);
}
function processApiResponse(array $checked_emails) {
public function processApiResponse(array $checked_emails) {
foreach ($checked_emails as $email) {
if (!isset($email['address'], $email['bounce'])) {
continue;

View File

@@ -10,7 +10,7 @@ class ExportFilesCleanup extends SimpleWorker {
const TASK_TYPE = 'export_files_cleanup';
const DELETE_FILES_AFTER_X_DAYS = 1;
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$iterator = new \GlobIterator(Export::getExportPath() . '/' . Export::getFilePrefix() . '*.*');
foreach ($iterator as $file) {
if (is_string($file)) {

View File

@@ -19,7 +19,7 @@ class InactiveSubscribers extends SimpleWorker {
/** @var SettingsController */
private $settings;
function __construct(
public function __construct(
InactiveSubscribersController $inactive_subscribers_controller,
SettingsController $settings
) {
@@ -29,7 +29,7 @@ class InactiveSubscribers extends SimpleWorker {
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$tracking_enabled = (bool)$this->settings->get('tracking.enabled');
if (!$tracking_enabled) {
$this->schedule();

View File

@@ -9,13 +9,13 @@ use MailPoet\Services\Bridge;
abstract class KeyCheckWorker extends SimpleWorker {
public $bridge;
function init() {
public function init() {
if (!$this->bridge) {
$this->bridge = new Bridge();
}
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
try {
$result = $this->checkKey();
} catch (\Exception $e) {
@@ -30,5 +30,5 @@ abstract class KeyCheckWorker extends SimpleWorker {
return true;
}
abstract function checkKey();
public abstract function checkKey();
}

View File

@@ -11,17 +11,17 @@ class PremiumKeyCheck extends KeyCheckWorker {
/** @var SettingsController */
private $settings;
function __construct(SettingsController $settings) {
public function __construct(SettingsController $settings) {
$this->settings = $settings;
parent::__construct();
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return Bridge::isPremiumKeySpecified();
}
function checkKey() {
public function checkKey() {
$premium_key = $this->settings->get(Bridge::PREMIUM_KEY_SETTING_NAME);
$result = $this->bridge->checkPremiumKey($premium_key);
$this->bridge->storePremiumKeyAndState($premium_key, $result);

View File

@@ -12,16 +12,16 @@ class SendingServiceKeyCheck extends KeyCheckWorker {
/** @var SettingsController */
private $settings;
function __construct(SettingsController $settings) {
public function __construct(SettingsController $settings) {
$this->settings = $settings;
parent::__construct();
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return Bridge::isMPSendingServiceEnabled();
}
function checkKey() {
public function checkKey() {
$mss_key = $this->settings->get(Mailer::MAILER_CONFIG_SETTING_NAME)['mailpoet_api_key'];
$result = $this->bridge->checkMSSKey($mss_key);
$this->bridge->storeMSSKeyAndState($mss_key, $result);

View File

@@ -29,7 +29,7 @@ class Scheduler {
/** @var CronHelper */
private $cron_helper;
function __construct(
public function __construct(
SubscribersFinder $subscribers_finder,
LoggerFactory $logger_factory,
CronHelper $cron_helper
@@ -39,7 +39,7 @@ class Scheduler {
$this->logger_factory = $logger_factory;
}
function process($timer = false) {
public function process($timer = false) {
$timer = $timer ?: microtime(true);
// abort if execution limit is reached
@@ -67,7 +67,7 @@ class Scheduler {
}
}
function processWelcomeNewsletter($newsletter, $queue) {
public function processWelcomeNewsletter($newsletter, $queue) {
$subscribers = $queue->getSubscribers();
if (empty($subscribers[0])) {
$queue->delete();
@@ -90,7 +90,7 @@ class Scheduler {
return true;
}
function processPostNotificationNewsletter($newsletter, $queue) {
public function processPostNotificationNewsletter($newsletter, $queue) {
$this->logger_factory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->addInfo(
'process post notification in scheduler',
['newsletter_id' => $newsletter->id, 'task_id' => $queue->task_id]
@@ -135,7 +135,7 @@ class Scheduler {
return true;
}
function processScheduledAutomaticEmail($newsletter, $queue) {
public function processScheduledAutomaticEmail($newsletter, $queue) {
if ($newsletter->sendTo === 'segment') {
$segment = Segment::findOne($newsletter->segment);
$result = $this->subscribers_finder->addSubscribersToTaskFromSegments($queue->task(), [$segment]);
@@ -159,7 +159,7 @@ class Scheduler {
return true;
}
function processScheduledStandardNewsletter($newsletter, SendingTask $task) {
public function processScheduledStandardNewsletter($newsletter, SendingTask $task) {
$segments = $newsletter->segments()->findMany();
$this->subscribers_finder->addSubscribersToTaskFromSegments($task->task(), $segments);
// update current queue
@@ -172,7 +172,7 @@ class Scheduler {
return true;
}
function verifyMailpoetSubscriber($subscriber_id, $newsletter, $queue) {
public function verifyMailpoetSubscriber($subscriber_id, $newsletter, $queue) {
$subscriber = Subscriber::findOne($subscriber_id);
// check if subscriber is in proper segment
$subscriber_in_segment =
@@ -187,7 +187,7 @@ class Scheduler {
return $this->verifySubscriber($subscriber, $queue);
}
function verifyWPSubscriber($subscriber_id, $newsletter, $queue) {
public function verifyWPSubscriber($subscriber_id, $newsletter, $queue) {
// check if user has the proper role
$subscriber = Subscriber::findOne($subscriber_id);
if (!$subscriber || $subscriber->isWPUser() === false) {
@@ -204,7 +204,7 @@ class Scheduler {
return $this->verifySubscriber($subscriber, $queue);
}
function verifySubscriber($subscriber, $queue) {
public function verifySubscriber($subscriber, $queue) {
if ($subscriber->status === Subscriber::STATUS_UNCONFIRMED) {
// reschedule delivery
$queue->rescheduleProgressively();
@@ -216,7 +216,7 @@ class Scheduler {
return true;
}
function deleteQueueOrUpdateNextRunDate($queue, $newsletter) {
public function deleteQueueOrUpdateNextRunDate($queue, $newsletter) {
if ($newsletter->intervalType === PostNotificationScheduler::INTERVAL_IMMEDIATELY) {
$queue->delete();
return;
@@ -231,7 +231,7 @@ class Scheduler {
}
}
function createNotificationHistory($newsletter_id) {
public function createNotificationHistory($newsletter_id) {
$newsletter = Newsletter::findOne($newsletter_id);
$notification_history = $newsletter->createNotificationHistory();
return ($notification_history->getErrors() === false) ?
@@ -258,7 +258,7 @@ class Scheduler {
}
}
static function getScheduledQueues() {
public static function getScheduledQueues() {
return SendingTask::getScheduledQueues(self::TASK_BATCH_SIZE);
}
}

View File

@@ -15,13 +15,13 @@ class Migration extends SimpleWorker {
const TASK_TYPE = 'migration';
const BATCH_SIZE = 20;
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
// if migration was completed, don't run it again
$completed_tasks = $this->getCompletedTasks();
return empty($completed_tasks);
}
function prepareTaskStrategy(ScheduledTask $task, $timer) {
public function prepareTaskStrategy(ScheduledTask $task, $timer) {
$unmigrated_columns = $this->checkUnmigratedColumnsExist();
$unmigrated_queues_count = 0;
$unmigrated_queue_subscribers = [];
@@ -48,7 +48,7 @@ class Migration extends SimpleWorker {
return true;
}
function pauseSending() {
public function pauseSending() {
$mailer_log = MailerLog::getMailerLog();
if (MailerLog::isSendingPaused($mailer_log)) {
// sending is already paused
@@ -62,7 +62,7 @@ class Migration extends SimpleWorker {
return MailerLog::pauseSending($mailer_log);
}
function resumeSending() {
public function resumeSending() {
$mailer_log = MailerLog::getMailerLog();
if (!MailerLog::isSendingPaused($mailer_log)) {
// sending is not paused
@@ -75,7 +75,7 @@ class Migration extends SimpleWorker {
}
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$this->migrateSendingQueues($timer);
$this->migrateSubscribers($timer);
$this->resumeSending();
@@ -88,12 +88,12 @@ class Migration extends SimpleWorker {
return in_array('type', $existing_columns);
}
function getUnmigratedQueues() {
public function getUnmigratedQueues() {
return SendingQueueModel::where('task_id', 0)
->whereNull('type');
}
function getTaskIdsForUnmigratedSubscribers() {
public function getTaskIdsForUnmigratedSubscribers() {
global $wpdb;
$query = sprintf(
'SELECT queues.`task_id` FROM %1$s queues INNER JOIN %2$s tasks ON queues.`task_id` = tasks.`id` ' .
@@ -110,7 +110,7 @@ class Migration extends SimpleWorker {
/*
* Migrate all sending queues without converting subscriber data
*/
function migrateSendingQueues($timer) {
public function migrateSendingQueues($timer) {
global $wpdb;
$queues = $this->getUnmigratedQueues()
@@ -160,7 +160,7 @@ class Migration extends SimpleWorker {
/*
* Migrate subscribers for in-progress sending tasks from the `subscribers` field to a separate table
*/
function migrateSubscribers($timer) {
public function migrateSubscribers($timer) {
global $wpdb;
// find in-progress queues that have serialized subscribers
@@ -188,7 +188,7 @@ class Migration extends SimpleWorker {
return true;
}
function migrateTaskSubscribers($task_id, $timer) {
public function migrateTaskSubscribers($task_id, $timer) {
global $wpdb;
$migrated_unprocessed_count = ScheduledTaskSubscriber::getUnprocessedCount($task_id);
@@ -241,7 +241,7 @@ class Migration extends SimpleWorker {
return true;
}
function getNextRunDate($wp = null) {
public function getNextRunDate($wp = null) {
if (is_null($wp)) {
$wp = new WPFunctions();
}

View File

@@ -7,7 +7,7 @@ use MailPoet\Mailer\MailerLog;
use MailPoet\Tasks\Sending as SendingTask;
class SendingErrorHandler {
function processError(
public function processError(
MailerError $error,
SendingTask $sending_task,
array $prepared_subscribers_ids,

View File

@@ -47,7 +47,7 @@ class SendingQueue {
/** @var CronHelper */
private $cron_helper;
function __construct(
public function __construct(
SendingErrorHandler $error_handler,
StatsNotificationsScheduler $stats_notifications_scheduler,
LoggerFactory $logger_factory,
@@ -68,7 +68,7 @@ class SendingQueue {
$this->cron_helper = $cron_helper;
}
function process($timer = false) {
public function process($timer = false) {
$timer = $timer ?: microtime(true);
$this->enforceSendingAndExecutionLimits($timer);
foreach (self::getRunningQueues() as $queue) {
@@ -165,7 +165,7 @@ class SendingQueue {
}
}
function processQueue($queue, $newsletter, $subscribers, $timer) {
public function processQueue($queue, $newsletter, $subscribers, $timer) {
// determine if processing is done in bulk or individually
$processing_method = $this->mailer_task->getProcessingMethod();
$prepared_newsletters = [];
@@ -227,7 +227,7 @@ class SendingQueue {
return $queue;
}
function sendNewsletter(
public function sendNewsletter(
SendingTask $sending_task, $prepared_subscriber_id, $prepared_newsletter,
$prepared_subscriber, $statistics, $timer, $extra_params = []
) {
@@ -247,7 +247,7 @@ class SendingQueue {
);
}
function sendNewsletters(
public function sendNewsletters(
SendingTask $sending_task, $prepared_subscribers_ids, $prepared_newsletters,
$prepared_subscribers, $statistics, $timer, $extra_params = []
) {
@@ -301,14 +301,14 @@ class SendingQueue {
return $sending_task;
}
function enforceSendingAndExecutionLimits($timer) {
public function enforceSendingAndExecutionLimits($timer) {
// abort if execution limit is reached
$this->cron_helper->enforceExecutionLimit($timer);
// abort if sending limit has been reached
MailerLog::enforceExecutionRequirements();
}
static function getRunningQueues() {
public static function getRunningQueues() {
return SendingTask::getRunningQueues(self::TASK_BATCH_SIZE);
}
}

View File

@@ -13,14 +13,14 @@ use MailPoet\Subscription\SubscriptionUrlFactory;
use MailPoet\Util\Helpers;
class Links {
static function process($rendered_newsletter, $newsletter, $queue) {
public static function process($rendered_newsletter, $newsletter, $queue) {
list($rendered_newsletter, $links) =
self::hashAndReplaceLinks($rendered_newsletter, $newsletter->id, $queue->id);
self::saveLinks($links, $newsletter, $queue);
return $rendered_newsletter;
}
static function hashAndReplaceLinks($rendered_newsletter, $newsletter_id, $queue_id) {
public static function hashAndReplaceLinks($rendered_newsletter, $newsletter_id, $queue_id) {
// join HTML and TEXT rendered body into a text string
$content = Helpers::joinObject($rendered_newsletter);
list($content, $links) = NewsletterLinks::process($content, $newsletter_id, $queue_id);
@@ -34,11 +34,11 @@ class Links {
];
}
static function saveLinks($links, $newsletter, $queue) {
public static function saveLinks($links, $newsletter, $queue) {
return NewsletterLinks::save($links, $newsletter->id, $queue->id);
}
static function getUnsubscribeUrl($queue, $subscriber_id) {
public static function getUnsubscribeUrl($queue, $subscriber_id) {
$subscriber = Subscriber::where('id', $subscriber_id)->findOne();
$settings = SettingsController::getInstance();
if ((boolean)$settings->get('tracking.enabled')) {

View File

@@ -8,11 +8,11 @@ use MailPoet\Mailer\MailerLog;
class Mailer {
public $mailer;
function __construct($mailer = false) {
public function __construct($mailer = false) {
$this->mailer = ($mailer) ? $mailer : $this->configureMailer();
}
function configureMailer($newsletter = null) {
public function configureMailer($newsletter = null) {
$sender['address'] = (!empty($newsletter->sender_address)) ?
$newsletter->sender_address :
false;
@@ -36,25 +36,25 @@ class Mailer {
return $this->mailer;
}
function getMailerLog() {
public function getMailerLog() {
return MailerLog::getMailerLog();
}
function updateSentCount() {
public function updateSentCount() {
return MailerLog::incrementSentCount();
}
function getProcessingMethod() {
public function getProcessingMethod() {
return ($this->mailer->mailer_config['method'] === MailerFactory::METHOD_MAILPOET) ?
'bulk' :
'individual';
}
function prepareSubscriberForSending($subscriber) {
public function prepareSubscriberForSending($subscriber) {
return $this->mailer->formatSubscriberNameAndEmailAddress($subscriber);
}
function sendBulk($prepared_newsletters, $prepared_subscribers, $extra_params = []) {
public function sendBulk($prepared_newsletters, $prepared_subscribers, $extra_params = []) {
if ($this->getProcessingMethod() === 'individual') {
throw new \LogicException('Trying to send a batch with individual processing method');
}
@@ -65,7 +65,7 @@ class Mailer {
);
}
function send($prepared_newsletter, $prepared_subscriber, $extra_params = []) {
public function send($prepared_newsletter, $prepared_subscriber, $extra_params = []) {
if ($this->getProcessingMethod() === 'bulk') {
throw new \LogicException('Trying to send an individual email with a bulk processing method');
}

View File

@@ -37,7 +37,7 @@ class Newsletter {
/** @var Emoji */
private $emoji;
function __construct(WPFunctions $wp = null, PostsTask $posts_task = null, GATracking $ga_tracking = null, Emoji $emoji = null) {
public function __construct(WPFunctions $wp = null, PostsTask $posts_task = null, GATracking $ga_tracking = null, Emoji $emoji = null) {
$settings = SettingsController::getInstance();
$this->tracking_enabled = (boolean)$settings->get('tracking.enabled');
if ($wp === null) {
@@ -59,7 +59,7 @@ class Newsletter {
$this->emoji = $emoji;
}
function getNewsletterFromQueue($queue) {
public function getNewsletterFromQueue($queue) {
// get existing active or sending newsletter
$newsletter = $queue->newsletter()
->whereNull('deleted_at')
@@ -87,7 +87,7 @@ class Newsletter {
return $newsletter;
}
function preProcessNewsletter(\MailPoet\Models\Newsletter $newsletter, $sending_task) {
public function preProcessNewsletter(\MailPoet\Models\Newsletter $newsletter, $sending_task) {
// return the newsletter if it was previously rendered
if (!is_null($sending_task->getNewsletterRenderedBody())) {
return (!$sending_task->validate()) ?
@@ -167,7 +167,7 @@ class Newsletter {
return $newsletter;
}
function prepareNewsletterForSending($newsletter, $subscriber, $queue) {
public function prepareNewsletterForSending($newsletter, $subscriber, $queue) {
// shortcodes and links will be replaced in the subject, html and text body
// to speed the processing, join content into a continuous string
$rendered_newsletter = $queue->getNewsletterRenderedBody();
@@ -204,7 +204,7 @@ class Newsletter {
];
}
function markNewsletterAsSent($newsletter, $queue) {
public function markNewsletterAsSent($newsletter, $queue) {
// if it's a standard or notification history newsletter, update its status
if ($newsletter->type === NewsletterModel::TYPE_STANDARD ||
$newsletter->type === NewsletterModel::TYPE_NOTIFICATION_HISTORY
@@ -215,14 +215,14 @@ class Newsletter {
}
}
function getNewsletterSegments($newsletter) {
public function getNewsletterSegments($newsletter) {
$segments = NewsletterSegmentModel::where('newsletter_id', $newsletter->id)
->select('segment_id')
->findArray();
return Helpers::flattenArray($segments);
}
function stopNewsletterPreProcessing($error_code = null) {
public function stopNewsletterPreProcessing($error_code = null) {
MailerLog::processError(
'queue_save',
WPFunctions::get()->__('There was an error processing your newsletter during sending. If possible, please contact us and report this issue.', 'mailpoet'),

View File

@@ -14,7 +14,7 @@ class Posts {
$this->logger_factory = LoggerFactory::getInstance();
}
function extractAndSave($rendered_newsletter, $newsletter) {
public function extractAndSave($rendered_newsletter, $newsletter) {
if ($newsletter->type !== NewsletterModel::TYPE_NOTIFICATION_HISTORY) {
return false;
}
@@ -44,7 +44,7 @@ class Posts {
return true;
}
function getAlcPostsCount($rendered_newsletter, \MailPoet\Models\Newsletter $newsletter) {
public function getAlcPostsCount($rendered_newsletter, \MailPoet\Models\Newsletter $newsletter) {
$template_posts_count = substr_count($newsletter->body, 'data-post-id');
$newsletter_posts_count = substr_count($rendered_newsletter['html'], 'data-post-id');
return $newsletter_posts_count - $template_posts_count;

View File

@@ -5,7 +5,7 @@ namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Newsletter\Shortcodes\Shortcodes as NewsletterShortcodes;
class Shortcodes {
static function process($content, $content_source = null, $newsletter = null, $subscriber = null, $queue = null) {
public static function process($content, $content_source = null, $newsletter = null, $subscriber = null, $queue = null) {
$shortcodes = new NewsletterShortcodes($newsletter, $subscriber, $queue);
return $shortcodes->replace($content, $content_source);
}

View File

@@ -27,7 +27,7 @@ abstract class SimpleWorker implements CronWorkerInterface {
/** @var CronWorkerScheduler */
protected $cron_worker_scheduler;
function __construct() {
public function __construct() {
if (static::TASK_TYPE === null) {
throw new \Exception('Constant TASK_TYPE is not defined on subclass ' . get_class($this));
}
@@ -37,34 +37,34 @@ abstract class SimpleWorker implements CronWorkerInterface {
$this->cron_worker_scheduler = ContainerWrapper::getInstance()->get(CronWorkerScheduler::class);
}
function getTaskType() {
public function getTaskType() {
return static::TASK_TYPE;
}
function supportsMultipleInstances() {
public function supportsMultipleInstances() {
return static::SUPPORT_MULTIPLE_INSTANCES;
}
function schedule() {
public function schedule() {
$this->cron_worker_scheduler->schedule(static::TASK_TYPE, $this->getNextRunDate());
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return true;
}
function init() {
public function init() {
}
function prepareTaskStrategy(ScheduledTask $task, $timer) {
public function prepareTaskStrategy(ScheduledTask $task, $timer) {
return true;
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
return true;
}
function getNextRunDate() {
public function getNextRunDate() {
// random day of the next week
$date = Carbon::createFromTimestamp($this->wp->currentTime('timestamp'));
$date->setISODate((int)$date->format('o'), ((int)$date->format('W')) + 1, mt_rand(1, 7));
@@ -72,7 +72,7 @@ abstract class SimpleWorker implements CronWorkerInterface {
return $date;
}
function scheduleAutomatically() {
public function scheduleAutomatically() {
return static::AUTOMATIC_SCHEDULING;
}

View File

@@ -37,7 +37,7 @@ class AutomatedEmails extends SimpleWorker {
/** @var NewsletterStatisticsRepository */
private $newsletter_statistics_repository;
function __construct(
public function __construct(
Mailer $mailer,
Renderer $renderer,
SettingsController $settings,
@@ -54,7 +54,7 @@ class AutomatedEmails extends SimpleWorker {
$this->newsletter_statistics_repository = $newsletter_statistics_repository;
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
$settings = $this->settings->get(Worker::SETTINGS_KEY);
if (!is_array($settings)) {
return false;
@@ -74,7 +74,7 @@ class AutomatedEmails extends SimpleWorker {
return (bool)$settings['automated'];
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
try {
$settings = $this->settings->get(Worker::SETTINGS_KEY);
$newsletters = $this->getNewsletters();
@@ -147,7 +147,7 @@ class AutomatedEmails extends SimpleWorker {
return $context;
}
function getNextRunDate() {
public function getNextRunDate() {
$wp = new WPFunctions;
$date = Carbon::createFromTimestamp($wp->currentTime('timestamp'));
return $date->endOfMonth()->next(Carbon::MONDAY)->midDay();

View File

@@ -31,7 +31,7 @@ class Scheduler {
/** @var StatsNotificationsRepository */
private $repository;
function __construct(
public function __construct(
SettingsController $settings,
EntityManager $entity_manager,
StatsNotificationsRepository $repository
@@ -41,7 +41,7 @@ class Scheduler {
$this->repository = $repository;
}
function schedule(NewsletterEntity $newsletter) {
public function schedule(NewsletterEntity $newsletter) {
if (!$this->shouldSchedule($newsletter)) {
return false;
}

View File

@@ -60,7 +60,7 @@ class Worker {
/** @var SubscribersRepository */
private $subscribers_repository;
function __construct(
public function __construct(
Mailer $mailer,
Renderer $renderer,
SettingsController $settings,
@@ -87,7 +87,7 @@ class Worker {
}
/** @throws \Exception */
function process($timer = false) {
public function process($timer = false) {
$timer = $timer ?: microtime(true);
$settings = $this->settings->get(self::SETTINGS_KEY);
foreach ($this->repository->findScheduled(Sending::RESULT_BATCH_SIZE) as $stats_notification_entity) {

View File

@@ -15,7 +15,7 @@ class SubscriberLinkTokens extends SimpleWorker {
const BATCH_SIZE = 10000;
const AUTOMATIC_SCHEDULING = false;
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$count = Subscriber::whereNull('link_token')->count();
if ($count) {
$auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
@@ -28,7 +28,7 @@ class SubscriberLinkTokens extends SimpleWorker {
return true;
}
function getNextRunDate() {
public function getNextRunDate() {
$wp = new WPFunctions();
return Carbon::createFromTimestamp($wp->currentTime('timestamp'));
}

View File

@@ -15,7 +15,7 @@ class UnsubscribeTokens extends SimpleWorker {
const BATCH_SIZE = 1000;
const AUTOMATIC_SCHEDULING = false;
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$meta = $task->getMeta();
do {
$this->cron_helper->enforceExecutionLimit($timer);
@@ -49,7 +49,7 @@ class UnsubscribeTokens extends SimpleWorker {
return count($instances);
}
function getNextRunDate() {
public function getNextRunDate() {
$wp = new WPFunctions;
return Carbon::createFromTimestamp($wp->currentTime('timestamp'));
}

View File

@@ -20,7 +20,7 @@ class WooCommercePastOrders extends SimpleWorker {
/** @var WooCommercePurchases */
private $woocommerce_purchases;
function __construct(
public function __construct(
WCHelper $woocommerce_helper,
WooCommercePurchases $woocommerce_purchases
) {
@@ -29,11 +29,11 @@ class WooCommercePastOrders extends SimpleWorker {
parent::__construct();
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return $this->woocommerce_helper->isWooCommerceActive() && empty($this->getCompletedTasks()); // run only once
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$oldest_click = StatisticsClicks::orderByAsc('created_at')->limit(1)->findOne();
if (!$oldest_click instanceof StatisticsClicks) {
return true;
@@ -70,7 +70,7 @@ class WooCommercePastOrders extends SimpleWorker {
return false;
}
function getNextRunDate() {
public function getNextRunDate() {
return Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')); // schedule immediately
}
}

View File

@@ -18,17 +18,17 @@ class WooCommerceSync extends SimpleWorker {
/** @var WooCommerceHelper */
private $woocommerce_helper;
function __construct(WooCommerceSegment $woocommerce_segment, WooCommerceHelper $woocommerce_helper) {
public function __construct(WooCommerceSegment $woocommerce_segment, WooCommerceHelper $woocommerce_helper) {
$this->woocommerce_segment = $woocommerce_segment;
$this->woocommerce_helper = $woocommerce_helper;
parent::__construct();
}
function checkProcessingRequirements() {
public function checkProcessingRequirements() {
return $this->woocommerce_helper->isWooCommerceActive();
}
function processTaskStrategy(ScheduledTask $task, $timer) {
public function processTaskStrategy(ScheduledTask $task, $timer) {
$this->woocommerce_segment->synchronizeCustomers();
return true;
}

View File

@@ -22,82 +22,82 @@ class WorkersFactory {
}
/** @return SchedulerWorker */
function createScheduleWorker() {
public function createScheduleWorker() {
return $this->container->get(SchedulerWorker::class);
}
/** @return SendingQueueWorker */
function createQueueWorker() {
public function createQueueWorker() {
return $this->container->get(SendingQueueWorker::class);
}
/** @return StatsNotificationsWorker */
function createStatsNotificationsWorker() {
public function createStatsNotificationsWorker() {
return $this->container->get(StatsNotificationsWorker::class);
}
/** @return StatsNotificationsWorkerForAutomatedEmails */
function createStatsNotificationsWorkerForAutomatedEmails() {
public function createStatsNotificationsWorkerForAutomatedEmails() {
return $this->container->get(StatsNotificationsWorkerForAutomatedEmails::class);
}
/** @return SendingServiceKeyCheckWorker */
function createSendingServiceKeyCheckWorker() {
public function createSendingServiceKeyCheckWorker() {
return $this->container->get(SendingServiceKeyCheckWorker::class);
}
/** @return PremiumKeyCheckWorker */
function createPremiumKeyCheckWorker() {
public function createPremiumKeyCheckWorker() {
return $this->container->get(PremiumKeyCheckWorker::class);
}
/** @return BounceWorker */
function createBounceWorker() {
public function createBounceWorker() {
return $this->container->get(BounceWorker::class);
}
/** @return MigrationWorker */
function createMigrationWorker() {
public function createMigrationWorker() {
return $this->container->get(MigrationWorker::class);
}
/** @return WooCommerceSyncWorker */
function createWooCommerceSyncWorker() {
public function createWooCommerceSyncWorker() {
return $this->container->get(WooCommerceSyncWorker::class);
}
/** @return ExportFilesCleanup */
function createExportFilesCleanupWorker() {
public function createExportFilesCleanupWorker() {
return $this->container->get(ExportFilesCleanup::class);
}
/** @return Beamer */
function createBeamerkWorker() {
public function createBeamerkWorker() {
return $this->container->get(Beamer::class);
}
/** @return InactiveSubscribers */
function createInactiveSubscribersWorker() {
public function createInactiveSubscribersWorker() {
return $this->container->get(InactiveSubscribers::class);
}
/** @return UnsubscribeTokens */
function createUnsubscribeTokensWorker() {
public function createUnsubscribeTokensWorker() {
return $this->container->get(UnsubscribeTokens::class);
}
/** @return SubscriberLinkTokens */
function createSubscriberLinkTokensWorker() {
public function createSubscriberLinkTokensWorker() {
return $this->container->get(SubscriberLinkTokens::class);
}
/** @return AuthorizedSendingEmailsCheck */
function createAuthorizedSendingEmailsCheckWorker() {
public function createAuthorizedSendingEmailsCheckWorker() {
return $this->container->get(AuthorizedSendingEmailsCheck::class);
}
/** @return WooCommercePastOrders */
function createWooCommercePastOrdersWorker() {
public function createWooCommercePastOrdersWorker() {
return $this->container->get(WooCommercePastOrders::class);
}
}