diff --git a/lib/Cron/Workers/Bounce.php b/lib/Cron/Workers/Bounce.php index fc8d8219d6..4c05660667 100644 --- a/lib/Cron/Workers/Bounce.php +++ b/lib/Cron/Workers/Bounce.php @@ -9,6 +9,7 @@ use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\Subscriber; use MailPoet\Services\Bridge; use MailPoet\Services\Bridge\API; +use MailPoet\Settings\SettingsController; use MailPoet\Tasks\Bounce as BounceTask; use MailPoet\Tasks\Subscribers as TaskSubscribers; use MailPoet\Tasks\Subscribers\BatchIterator; @@ -25,10 +26,17 @@ class Bounce extends SimpleWorker { public $api; + /** @var SettingsController */ + private $settings; + + function __construct(SettingsController $settings, $timer = false) { + $this->settings = $settings; + parent::__construct($timer); + } + function init() { if (!$this->api) { - $mailer_config = Mailer::getMailerConfig(); - $this->api = new API($mailer_config['mailpoet_api_key']); + $this->api = new API($this->settings->get(Mailer::MAILER_CONFIG_SETTING_NAME)['mailpoet_api_key']); } } diff --git a/lib/Cron/Workers/KeyCheck/SendingServiceKeyCheck.php b/lib/Cron/Workers/KeyCheck/SendingServiceKeyCheck.php index b790619e3f..f3c8448195 100644 --- a/lib/Cron/Workers/KeyCheck/SendingServiceKeyCheck.php +++ b/lib/Cron/Workers/KeyCheck/SendingServiceKeyCheck.php @@ -4,17 +4,25 @@ namespace MailPoet\Cron\Workers\KeyCheck; use MailPoet\Mailer\Mailer; use MailPoet\Services\Bridge; +use MailPoet\Settings\SettingsController; class SendingServiceKeyCheck extends KeyCheckWorker { const TASK_TYPE = 'sending_service_key_check'; + /** @var SettingsController */ + private $settings; + + function __construct(SettingsController $settings, $timer = false) { + $this->settings = $settings; + parent::__construct($timer); + } + function checkProcessingRequirements() { return Bridge::isMPSendingServiceEnabled(); } function checkKey() { - $mailer_config = Mailer::getMailerConfig(); - $mss_key = $mailer_config['mailpoet_api_key']; + $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); $this->bridge->updateSubscriberCount($result); diff --git a/lib/Cron/Workers/WorkersFactory.php b/lib/Cron/Workers/WorkersFactory.php index fff76fc479..c03068ccaf 100644 --- a/lib/Cron/Workers/WorkersFactory.php +++ b/lib/Cron/Workers/WorkersFactory.php @@ -183,7 +183,7 @@ class WorkersFactory { /** @return SendingServiceKeyCheckWorker */ function createSendingServiceKeyCheckWorker($timer) { - return new SendingServiceKeyCheckWorker($timer); + return new SendingServiceKeyCheckWorker($this->settings, $timer); } /** @return PremiumKeyCheckWorker */ @@ -193,7 +193,7 @@ class WorkersFactory { /** @return BounceWorker */ function createBounceWorker($timer) { - return new BounceWorker($timer); + return new BounceWorker($this->settings, $timer); } /** @return MigrationWorker */ diff --git a/lib/Services/Bridge.php b/lib/Services/Bridge.php index db9fea3118..ba5550f1ac 100644 --- a/lib/Services/Bridge.php +++ b/lib/Services/Bridge.php @@ -45,7 +45,7 @@ class Bridge { static function isMPSendingServiceEnabled() { try { - $mailer_config = Mailer::getMailerConfig(); + $mailer_config = SettingsController::getInstance()->get(Mailer::MAILER_CONFIG_SETTING_NAME); return !empty($mailer_config['method']) && $mailer_config['method'] === Mailer::METHOD_MAILPOET; } catch (\Exception $e) { diff --git a/tests/integration/Cron/Workers/BounceTest.php b/tests/integration/Cron/Workers/BounceTest.php index 692c2893a1..791e41d2a2 100644 --- a/tests/integration/Cron/Workers/BounceTest.php +++ b/tests/integration/Cron/Workers/BounceTest.php @@ -31,7 +31,7 @@ class BounceTest extends \MailPoetTest { ]); } - $this->worker = new Bounce(microtime(true)); + $this->worker = new Bounce($this->di_container->get(SettingsController::class), microtime(true)); $this->worker->api = new MockAPI('key'); } @@ -42,7 +42,7 @@ class BounceTest extends \MailPoetTest { function testItCanInitializeBridgeAPI() { $this->setMailPoetSendingMethod(); - $worker = new Bounce(microtime(true)); + $worker = new Bounce($this->di_container->get(SettingsController::class), microtime(true)); $worker->init(); expect($worker->api instanceof API)->true(); } diff --git a/tests/integration/Cron/Workers/KeyCheck/SendingServiceKeyCheckTest.php b/tests/integration/Cron/Workers/KeyCheck/SendingServiceKeyCheckTest.php index 8561452fe1..208ac48f7a 100644 --- a/tests/integration/Cron/Workers/KeyCheck/SendingServiceKeyCheckTest.php +++ b/tests/integration/Cron/Workers/KeyCheck/SendingServiceKeyCheckTest.php @@ -14,7 +14,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest { function _before() { parent::_before(); $this->mss_key = 'some_key'; - $this->worker = new SendingServiceKeyCheck(microtime(true)); + $this->worker = new SendingServiceKeyCheck($this->di_container->get(SettingsController::class), microtime(true)); } function testItRequiresMailPoetMethodToBeSetUp() {