Replace "new SettingsController()" with fetch from DI container

[MAILPOET-2436]
This commit is contained in:
Jan Jakeš
2019-10-24 10:48:58 +02:00
committed by Jack Kitterhing
parent c91cd1255a
commit d970dda637
79 changed files with 132 additions and 125 deletions

View File

@ -18,7 +18,7 @@ class Installer {
function __construct($slug) { function __construct($slug) {
$this->slug = $slug; $this->slug = $slug;
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function init() { function init() {

View File

@ -17,7 +17,7 @@ class ServicesChecker {
private $settings; private $settings;
public function __construct() { public function __construct() {
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function isMailPoetAPIKeyValid($display_error_notice = true, $force_check = false) { function isMailPoetAPIKeyValid($display_error_notice = true, $force_check = false) {

View File

@ -19,7 +19,7 @@ class Updater {
$this->plugin = WPFunctions::get()->pluginBasename($plugin_name); $this->plugin = WPFunctions::get()->pluginBasename($plugin_name);
$this->slug = $slug; $this->slug = $slug;
$this->version = $version; $this->version = $version;
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function init() { function init() {

View File

@ -44,7 +44,7 @@ class WordPress {
} }
private static function checkRunInterval() { private static function checkRunInterval() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$last_run_at = (int)$settings->get(self::LAST_RUN_AT_SETTING, 0); $last_run_at = (int)$settings->get(self::LAST_RUN_AT_SETTING, 0);
$run_interval = WPFunctions::get()->applyFilters('mailpoet_cron_trigger_wordpress_run_interval', self::RUN_INTERVAL); $run_interval = WPFunctions::get()->applyFilters('mailpoet_cron_trigger_wordpress_run_interval', self::RUN_INTERVAL);
$run_interval_elapsed = (time() - $last_run_at) >= $run_interval; $run_interval_elapsed = (time() - $last_run_at) >= $run_interval;
@ -56,7 +56,7 @@ class WordPress {
} }
static function resetRunInterval() { static function resetRunInterval() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set(self::LAST_RUN_AT_SETTING, 0); $settings->set(self::LAST_RUN_AT_SETTING, 0);
} }
@ -64,7 +64,7 @@ class WordPress {
self::loadTasksCounts($wp ?: new WPFunctions); self::loadTasksCounts($wp ?: new WPFunctions);
// migration // migration
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$migration_disabled = $settings->get('cron_trigger.method') === 'none'; $migration_disabled = $settings->get('cron_trigger.method') === 'none';
$migration_due_tasks = self::getTasksCount([ $migration_due_tasks = self::getTasksCount([
'type' => MigrationWorker::TASK_TYPE, 'type' => MigrationWorker::TASK_TYPE,

View File

@ -40,7 +40,7 @@ class Links {
static function getUnsubscribeUrl($queue, $subscriber_id) { static function getUnsubscribeUrl($queue, $subscriber_id) {
$subscriber = Subscriber::where('id', $subscriber_id)->findOne(); $subscriber = Subscriber::where('id', $subscriber_id)->findOne();
$settings = new SettingsController(); $settings = SettingsController::getInstance();
if ((boolean)$settings->get('tracking.enabled')) { if ((boolean)$settings->get('tracking.enabled')) {
$link_hash = NewsletterLinkModel::where('queue_id', $queue->id) $link_hash = NewsletterLinkModel::where('queue_id', $queue->id)
->where('url', NewsletterLinkModel::UNSUBSCRIBE_LINK_SHORT_CODE) ->where('url', NewsletterLinkModel::UNSUBSCRIBE_LINK_SHORT_CODE)

View File

@ -38,7 +38,7 @@ class Newsletter {
private $emoji; private $emoji;
function __construct(WPFunctions $wp = null, PostsTask $posts_task = null, GATracking $ga_tracking = null, Emoji $emoji = null) { function __construct(WPFunctions $wp = null, PostsTask $posts_task = null, GATracking $ga_tracking = null, Emoji $emoji = null) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$this->tracking_enabled = (boolean)$settings->get('tracking.enabled'); $this->tracking_enabled = (boolean)$settings->get('tracking.enabled');
if ($wp === null) { if ($wp === null) {
$wp = new WPFunctions; $wp = new WPFunctions;

View File

@ -42,7 +42,7 @@ class Renderer {
} }
static function renderBlocks($blocks = [], $honeypot_enabled = true) { static function renderBlocks($blocks = [], $honeypot_enabled = true) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
// add honeypot for spambots // add honeypot for spambots
$html = ($honeypot_enabled) ? $html = ($honeypot_enabled) ?
'<label class="mailpoet_hp_email_label">' . WPFunctions::get()->__('Please leave this field empty', 'mailpoet') . '<input type="email" name="data[email]"></label>' : '<label class="mailpoet_hp_email_label">' . WPFunctions::get()->__('Please leave this field empty', 'mailpoet') . '<input type="email" name="data[email]"></label>' :

View File

@ -25,7 +25,7 @@ class Widget extends \WP_Widget {
); );
$this->wp = new WPFunctions; $this->wp = new WPFunctions;
$this->renderer = new \MailPoet\Config\Renderer(!WP_DEBUG, !WP_DEBUG); $this->renderer = new \MailPoet\Config\Renderer(!WP_DEBUG, !WP_DEBUG);
$this->assets_controller = new AssetsController($this->wp, $this->renderer, new SettingsController()); $this->assets_controller = new AssetsController($this->wp, $this->renderer, SettingsController::getInstance());
if (!is_admin()) { if (!is_admin()) {
$this->setupIframe(); $this->setupIframe();
} else { } else {

View File

@ -66,7 +66,7 @@ class LoggerFactory {
static function getInstance() { static function getInstance() {
if (!self::$instance instanceof LoggerFactory) { if (!self::$instance instanceof LoggerFactory) {
self::$instance = new LoggerFactory(new SettingsController); self::$instance = new LoggerFactory(SettingsController::getInstance());
} }
return self::$instance; return self::$instance;
} }

View File

@ -29,7 +29,7 @@ class Mailer {
function __construct(SettingsController $settings = null) { function __construct(SettingsController $settings = null) {
if (!$settings) { if (!$settings) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
} }
$this->settings = $settings; $this->settings = $settings;
} }
@ -69,7 +69,7 @@ class Mailer {
$this->sender, $this->sender,
$this->reply_to, $this->reply_to,
new MailPoetMapper(), new MailPoetMapper(),
new AuthorizedEmailsController(new SettingsController, new Bridge) new AuthorizedEmailsController(SettingsController::getInstance(), new Bridge)
); );
break; break;
case self::METHOD_SENDGRID: case self::METHOD_SENDGRID:
@ -109,7 +109,7 @@ class Mailer {
} }
static function getMailerConfig($mailer = false) { static function getMailerConfig($mailer = false) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
if (!$mailer) { if (!$mailer) {
$mailer = $settings->get(self::MAILER_CONFIG_SETTING_NAME); $mailer = $settings->get(self::MAILER_CONFIG_SETTING_NAME);
if (!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured.', 'mailpoet')); if (!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured.', 'mailpoet'));

View File

@ -12,7 +12,7 @@ class MailerLog {
static function getMailerLog($mailer_log = false) { static function getMailerLog($mailer_log = false) {
if ($mailer_log) return $mailer_log; if ($mailer_log) return $mailer_log;
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$mailer_log = $settings->get(self::SETTING_NAME); $mailer_log = $settings->get(self::SETTING_NAME);
if (!$mailer_log) { if (!$mailer_log) {
$mailer_log = self::createMailerLog(); $mailer_log = self::createMailerLog();
@ -29,7 +29,7 @@ class MailerLog {
'retry_at' => null, 'retry_at' => null,
'error' => null, 'error' => null,
]; ];
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set(self::SETTING_NAME, $mailer_log); $settings->set(self::SETTING_NAME, $mailer_log);
return $mailer_log; return $mailer_log;
} }
@ -39,7 +39,7 @@ class MailerLog {
} }
static function updateMailerLog($mailer_log) { static function updateMailerLog($mailer_log) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set(self::SETTING_NAME, $mailer_log); $settings->set(self::SETTING_NAME, $mailer_log);
return $mailer_log; return $mailer_log;
} }

View File

@ -121,7 +121,7 @@ class Form extends Model {
} }
static function getDefaultSuccessMessage() { static function getDefaultSuccessMessage() {
$settings = new SettingsController; $settings = SettingsController::getInstance();
if ($settings->get('signup_confirmation.enabled')) { if ($settings->get('signup_confirmation.enabled')) {
return __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet'); return __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet');
} }

View File

@ -1045,7 +1045,7 @@ class Newsletter extends Model {
static function createOrUpdate($data = []) { static function createOrUpdate($data = []) {
$data['unsubscribe_token'] = Security::generateUnsubscribeToken(self::class); $data['unsubscribe_token'] = Security::generateUnsubscribeToken(self::class);
return parent::_createOrUpdate($data, false, function($data) { return parent::_createOrUpdate($data, false, function($data) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
// set default sender based on settings // set default sender based on settings
if (empty($data['sender'])) { if (empty($data['sender'])) {
$sender = $settings->get('sender', []); $sender = $settings->get('sender', []);

View File

@ -46,7 +46,7 @@ class Setting extends Model {
} }
public static function saveDefaultSenderIfNeeded($sender_address, $sender_name) { public static function saveDefaultSenderIfNeeded($sender_address, $sender_name) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
if (empty($sender_address) || empty($sender_name) || $settings->get('sender')) { if (empty($sender_address) || empty($sender_name) || $settings->get('sender')) {
return; return;
} }

View File

@ -787,7 +787,7 @@ class Subscriber extends Model {
} }
static function setRequiredFieldsDefaultValues($data) { static function setRequiredFieldsDefaultValues($data) {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$required_field_default_values = [ $required_field_default_values = [
'first_name' => '', 'first_name' => '',
'last_name' => '', 'last_name' => '',

View File

@ -65,7 +65,7 @@ class Link {
static function processUrl($action, $url, $queue, $wp_user_preview = false) { static function processUrl($action, $url, $queue, $wp_user_preview = false) {
if ($wp_user_preview) return $url; if ($wp_user_preview) return $url;
$settings = new SettingsController(); $settings = SettingsController::getInstance();
return ($queue !== false && (boolean)$settings->get('tracking.enabled')) ? return ($queue !== false && (boolean)$settings->get('tracking.enabled')) ?
self::getFullShortcode($action) : self::getFullShortcode($action) :
$url; $url;
@ -77,7 +77,7 @@ class Link {
$subscription_url_factory = SubscriptionUrlFactory::getInstance(); $subscription_url_factory = SubscriptionUrlFactory::getInstance();
switch ($shortcode_action) { switch ($shortcode_action) {
case 'subscription_unsubscribe_url': case 'subscription_unsubscribe_url':
$settings = new SettingsController(); $settings = SettingsController::getInstance();
// track unsubscribe event // track unsubscribe event
if ((boolean)$settings->get('tracking.enabled') && !$wp_user_preview) { if ((boolean)$settings->get('tracking.enabled') && !$wp_user_preview) {
$unsubscribe_event = new Unsubscribes(); $unsubscribe_event = new Unsubscribes();

View File

@ -44,7 +44,7 @@ class WP {
if (empty($wp_user->first_name) && empty($wp_user->last_name)) { if (empty($wp_user->first_name) && empty($wp_user->last_name)) {
$first_name = $wp_user->display_name; $first_name = $wp_user->display_name;
} }
$signup_confirmation_enabled = (new SettingsController())->get('signup_confirmation.enabled'); $signup_confirmation_enabled = SettingsController::getInstance()->get('signup_confirmation.enabled');
// subscriber data // subscriber data
$data = [ $data = [
'wp_user_id' => $wp_user->ID, 'wp_user_id' => $wp_user->ID,
@ -135,7 +135,7 @@ class WP {
private static function insertSubscribers() { private static function insertSubscribers() {
global $wpdb; global $wpdb;
$subscribers_table = Subscriber::$_table; $subscribers_table = Subscriber::$_table;
$signup_confirmation_enabled = (new SettingsController())->get('signup_confirmation.enabled'); $signup_confirmation_enabled = SettingsController::getInstance()->get('signup_confirmation.enabled');
$inserterd_user_ids = \ORM::for_table($wpdb->users)->raw_query(sprintf( $inserterd_user_ids = \ORM::for_table($wpdb->users)->raw_query(sprintf(
'SELECT %2$s.id, %2$s.user_email as email FROM %2$s 'SELECT %2$s.id, %2$s.user_email as email FROM %2$s

View File

@ -38,7 +38,7 @@ class Bridge {
function __construct(SettingsController $settingsController = null) { function __construct(SettingsController $settingsController = null) {
if ($settingsController === null) { if ($settingsController === null) {
$settingsController = new SettingsController; $settingsController = SettingsController::getInstance();
} }
$this->settings = $settingsController; $this->settings = $settingsController;
} }
@ -54,13 +54,13 @@ class Bridge {
} }
static function isMSSKeySpecified() { static function isMSSKeySpecified() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$key = $settings->get(self::API_KEY_SETTING_NAME); $key = $settings->get(self::API_KEY_SETTING_NAME);
return !empty($key); return !empty($key);
} }
static function isPremiumKeySpecified() { static function isPremiumKeySpecified() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$key = $settings->get(self::PREMIUM_KEY_SETTING_NAME); $key = $settings->get(self::PREMIUM_KEY_SETTING_NAME);
return !empty($key); return !empty($key);
} }
@ -187,7 +187,7 @@ class Bridge {
} }
static function invalidateKey() { static function invalidateKey() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set( $settings->set(
self::API_KEY_STATE_SETTING_NAME, self::API_KEY_STATE_SETTING_NAME,
['state' => self::KEY_INVALID] ['state' => self::KEY_INVALID]

View File

@ -3,6 +3,7 @@
namespace MailPoet\Settings; namespace MailPoet\Settings;
use MailPoet\Cron\CronTrigger; use MailPoet\Cron\CronTrigger;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\Setting; use MailPoet\Models\Setting;
use MailPoet\Util\Helpers; use MailPoet\Util\Helpers;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -164,4 +165,9 @@ class SettingsController {
self::$settings = []; self::$settings = [];
self::$loaded = false; self::$loaded = false;
} }
/** @return SettingsController */
static function getInstance() {
return ContainerWrapper::getInstance()->get(SettingsController::class);
}
} }

View File

@ -45,7 +45,7 @@ class ConfirmationEmailMailer {
$this->wp = new WPFunctions; $this->wp = new WPFunctions;
} }
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->mailerMetaInfo = new MetaInfo; $this->mailerMetaInfo = new MetaInfo;
if ($subscription_url_factory === null) { if ($subscription_url_factory === null) {

View File

@ -39,7 +39,7 @@ class NewSubscriberNotificationMailer {
$this->renderer = new Renderer($caching, $debugging); $this->renderer = new Renderer($caching, $debugging);
} }
$this->mailer = $mailer; $this->mailer = $mailer;
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->mailerMetaInfo = new MetaInfo(); $this->mailerMetaInfo = new MetaInfo();
} }

View File

@ -103,7 +103,7 @@ class SubscriptionUrlFactory {
*/ */
static function getInstance() { static function getInstance() {
if (!self::$instance instanceof SubscriptionUrlFactory) { if (!self::$instance instanceof SubscriptionUrlFactory) {
self::$instance = new SubscriptionUrlFactory(new WPFunctions, new SettingsController, new LinkTokens); self::$instance = new SubscriptionUrlFactory(new WPFunctions, SettingsController::getInstance(), new LinkTokens);
} }
return self::$instance; return self::$instance;
} }

View File

@ -12,7 +12,7 @@ use MailPoetVendor\Twig\TwigFunction;
class Analytics extends AbstractExtension { class Analytics extends AbstractExtension {
public function getFunctions() { public function getFunctions() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$analytics = new AnalyticsGenerator( $analytics = new AnalyticsGenerator(
new Reporter($settings, new WooCommerceHelper()), new Reporter($settings, new WooCommerceHelper()),
$settings $settings

View File

@ -27,7 +27,7 @@ class Functions extends AbstractExtension {
private $referral_url_decorator; private $referral_url_decorator;
public function __construct() { public function __construct() {
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->woocommerce_helper = new WooCommerceHelper(); $this->woocommerce_helper = new WooCommerceHelper();
$this->wp = WPFunctions::get(); $this->wp = WPFunctions::get();
$this->referral_url_decorator = new UrlDecorator($this->wp, $this->settings); $this->referral_url_decorator = new UrlDecorator($this->wp, $this->settings);

View File

@ -12,7 +12,7 @@ class Polls extends AbstractExtension {
private $settings; private $settings;
public function __construct() { public function __construct() {
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
public function getFunctions() { public function getFunctions() {

View File

@ -14,7 +14,7 @@ class AfterMigrationNotice {
private $settings; private $settings;
function __construct() { function __construct() {
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function enable() { function enable() {

View File

@ -33,9 +33,9 @@ class PermanentNotices {
$this->wp = $wp; $this->wp = $wp;
$this->php_version_warnings = new PHPVersionWarnings(); $this->php_version_warnings = new PHPVersionWarnings();
$this->after_migration_notice = new AfterMigrationNotice(); $this->after_migration_notice = new AfterMigrationNotice();
$this->unauthorized_emails_notice = new UnauthorizedEmailNotice(new SettingsController, $wp); $this->unauthorized_emails_notice = new UnauthorizedEmailNotice(SettingsController::getInstance(), $wp);
$this->unauthorized_emails_in_newsletters_notice = new UnauthorizedEmailInNewslettersNotice(new SettingsController, $wp); $this->unauthorized_emails_in_newsletters_notice = new UnauthorizedEmailInNewslettersNotice(SettingsController::getInstance(), $wp);
$this->inactive_subscribers_notice = new InactiveSubscribersNotice(new SettingsController, $wp); $this->inactive_subscribers_notice = new InactiveSubscribersNotice(SettingsController::getInstance(), $wp);
$this->black_friday_notice = new BlackFridayNotice(); $this->black_friday_notice = new BlackFridayNotice();
} }

View File

@ -11,7 +11,7 @@ class Settings {
public function __construct() { public function __construct() {
SettingsController::resetCache(); SettingsController::resetCache();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function withDefaultSettings() { function withDefaultSettings() {

View File

@ -18,7 +18,7 @@ class MailerTest extends \MailPoetTest {
MailerLog::updateMailerLog($mailer_log); MailerLog::updateMailerLog($mailer_log);
$mailer_log = MailerLog::getMailerLog(); $mailer_log = MailerLog::getMailerLog();
expect($mailer_log['status'])->equals(MailerLog::STATUS_PAUSED); expect($mailer_log['status'])->equals(MailerLog::STATUS_PAUSED);
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$authorized_emails_controller = $this->makeEmpty(AuthorizedEmailsController::class, ['checkAuthorizedEmailAddresses' => Expected::never()]); $authorized_emails_controller = $this->makeEmpty(AuthorizedEmailsController::class, ['checkAuthorizedEmailAddresses' => Expected::never()]);
// resumeSending() method should clear the mailer log's status // resumeSending() method should clear the mailer log's status
$bridge = new Bridge($settings); $bridge = new Bridge($settings);
@ -30,7 +30,7 @@ class MailerTest extends \MailPoetTest {
} }
function testItRunsAuhtorizedEmailsCheckIfErrorIsPresent() { function testItRunsAuhtorizedEmailsCheckIfErrorIsPresent() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING, ['invalid_sender_address' => 'a@b.c']); $settings->set(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING, ['invalid_sender_address' => 'a@b.c']);
$authorized_emails_controller = $this->makeEmpty(AuthorizedEmailsController::class, ['checkAuthorizedEmailAddresses' => Expected::once()]); $authorized_emails_controller = $this->makeEmpty(AuthorizedEmailsController::class, ['checkAuthorizedEmailAddresses' => Expected::once()]);
$bridge = new Bridge($settings); $bridge = new Bridge($settings);

View File

@ -139,7 +139,7 @@ class NewslettersTest extends \MailPoetTest {
ContainerWrapper::getInstance()->get(Handler::class), ContainerWrapper::getInstance()->get(Handler::class),
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), SettingsController::getInstance(),
$this->cron_helper, $this->cron_helper,
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]), $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]),
ContainerWrapper::getInstance()->get(NewslettersRepository::class), ContainerWrapper::getInstance()->get(NewslettersRepository::class),
@ -194,7 +194,7 @@ class NewslettersTest extends \MailPoetTest {
ContainerWrapper::getInstance()->get(Handler::class), ContainerWrapper::getInstance()->get(Handler::class),
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), SettingsController::getInstance(),
$this->cron_helper, $this->cron_helper,
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()]), $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()]),
ContainerWrapper::getInstance()->get(NewslettersRepository::class), ContainerWrapper::getInstance()->get(NewslettersRepository::class),
@ -568,7 +568,7 @@ class NewslettersTest extends \MailPoetTest {
ContainerWrapper::getInstance()->get(Handler::class), ContainerWrapper::getInstance()->get(Handler::class),
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), SettingsController::getInstance(),
$this->cron_helper, $this->cron_helper,
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]), $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]),
ContainerWrapper::getInstance()->get(NewslettersRepository::class), ContainerWrapper::getInstance()->get(NewslettersRepository::class),
@ -909,7 +909,7 @@ class NewslettersTest extends \MailPoetTest {
ContainerWrapper::getInstance()->get(Handler::class), ContainerWrapper::getInstance()->get(Handler::class),
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), SettingsController::getInstance(),
$this->cron_helper, $this->cron_helper,
ContainerWrapper::getInstance()->get(AuthorizedEmailsController::class), ContainerWrapper::getInstance()->get(AuthorizedEmailsController::class),
ContainerWrapper::getInstance()->get(NewslettersRepository::class), ContainerWrapper::getInstance()->get(NewslettersRepository::class),

View File

@ -23,7 +23,7 @@ class SendingQueueTest extends \MailPoetTest {
'type' => Newsletter::TYPE_STANDARD, 'type' => Newsletter::TYPE_STANDARD,
] ]
); );
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('sender', [ $settings->set('sender', [
'name' => 'John Doe', 'name' => 'John Doe',
'address' => 'john.doe@example.com', 'address' => 'john.doe@example.com',

View File

@ -20,7 +20,7 @@ class ServicesTest extends \MailPoetTest {
parent::_before(); parent::_before();
$this->services_endpoint = $this->di_container->get(Services::class); $this->services_endpoint = $this->di_container->get(Services::class);
$this->data = ['key' => '1234567890abcdef']; $this->data = ['key' => '1234567890abcdef'];
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItRespondsWithErrorIfSPFCheckFails() { function testItRespondsWithErrorIfSPFCheckFails() {

View File

@ -25,7 +25,7 @@ class SettingsTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('some.setting.key', true); $this->settings->set('some.setting.key', true);
$this->endpoint = new Settings( $this->endpoint = new Settings(
$this->settings, $this->settings,

View File

@ -19,7 +19,7 @@ use MailPoet\WP\Functions as WPFunctions;
class SetupTest extends \MailPoetTest { class SetupTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('signup_confirmation.enabled', false); $settings->set('signup_confirmation.enabled', false);
} }
@ -30,7 +30,7 @@ class SetupTest extends \MailPoetTest {
$features_controller = Stub::makeEmpty(FeaturesController::class); $features_controller = Stub::makeEmpty(FeaturesController::class);
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$referral_detector = new ReferralDetector($wp, $settings); $referral_detector = new ReferralDetector($wp, $settings);
$wc_transactional_emails = new TransactionalEmails($wp, $settings); $wc_transactional_emails = new TransactionalEmails($wp, $settings);
$populator = new Populator($settings, $wp, new Captcha(), $referral_detector, $features_controller, $wc_transactional_emails); $populator = new Populator($settings, $wp, new Captcha(), $referral_detector, $features_controller, $wc_transactional_emails);
@ -38,7 +38,7 @@ class SetupTest extends \MailPoetTest {
$response = $router->reset(); $response = $router->reset();
expect($response->status)->equals(APIResponse::STATUS_OK); expect($response->status)->equals(APIResponse::STATUS_OK);
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$signup_confirmation = $settings->fetch('signup_confirmation.enabled'); $signup_confirmation = $settings->fetch('signup_confirmation.enabled');
expect($signup_confirmation)->true(); expect($signup_confirmation)->true();

View File

@ -102,7 +102,7 @@ class SubscribersTest extends \MailPoetTest {
], ],
]); ]);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
// setup mailer // setup mailer
$this->settings->set('sender', [ $this->settings->set('sender', [
'address' => 'sender@mailpoet.com', 'address' => 'sender@mailpoet.com',

View File

@ -511,7 +511,7 @@ class APITest extends \MailPoetTest {
} }
function testItSchedulesWelcomeNotificationByDefaultAfterAddingSubscriber() { function testItSchedulesWelcomeNotificationByDefaultAfterAddingSubscriber() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('signup_confirmation.enabled', false); $settings->set('signup_confirmation.enabled', false);
$API = Stub::makeEmptyExcept( $API = Stub::makeEmptyExcept(
\MailPoet\API\MP\v1\API::class, \MailPoet\API\MP\v1\API::class,
@ -529,7 +529,7 @@ class APITest extends \MailPoetTest {
} }
function testItThrowsIfWelcomeEmailFails() { function testItThrowsIfWelcomeEmailFails() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('signup_confirmation.enabled', false); $settings->set('signup_confirmation.enabled', false);
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = 'sending'; $task->type = 'sending';
@ -861,7 +861,7 @@ class APITest extends \MailPoetTest {
} }
function _before() { function _before() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('signup_confirmation.enabled', true); $settings->set('signup_confirmation.enabled', true);
} }

View File

@ -21,7 +21,7 @@ class AnalyticsTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->analytics = new Analytics( $this->analytics = new Analytics(
new Reporter($this->settings, new WooCommerceHelper()), new Reporter($this->settings, new WooCommerceHelper()),
$this->settings $this->settings
@ -54,7 +54,7 @@ class AnalyticsTest extends \MailPoetTest {
$this $this
); );
$this->settings->set('analytics', ['enabled' => '']); $this->settings->set('analytics', ['enabled' => '']);
$analytics = new Analytics($reporter, new SettingsController()); $analytics = new Analytics($reporter, SettingsController::getInstance());
expect($analytics->generateAnalytics())->null(); expect($analytics->generateAnalytics())->null();
} }
@ -69,7 +69,7 @@ class AnalyticsTest extends \MailPoetTest {
); );
$this->settings->set('analytics', ['enabled' => '1']); $this->settings->set('analytics', ['enabled' => '1']);
$this->settings->set('analytics_last_sent', Carbon::now()->subHours(1)); $this->settings->set('analytics_last_sent', Carbon::now()->subHours(1));
$analytics = new Analytics($reporter, new SettingsController()); $analytics = new Analytics($reporter, SettingsController::getInstance());
expect($analytics->generateAnalytics())->null(); expect($analytics->generateAnalytics())->null();
} }
@ -88,7 +88,7 @@ class AnalyticsTest extends \MailPoetTest {
$this->settings->set('analytics', ['enabled' => '1']); $this->settings->set('analytics', ['enabled' => '1']);
$this->settings->set('analytics_last_sent', null); $this->settings->set('analytics_last_sent', null);
$analytics = new Analytics($reporter, new SettingsController()); $analytics = new Analytics($reporter, SettingsController::getInstance());
expect($analytics->generateAnalytics())->equals(apply_filters(Analytics::ANALYTICS_FILTER, $data)); expect($analytics->generateAnalytics())->equals(apply_filters(Analytics::ANALYTICS_FILTER, $data));
} }
@ -106,7 +106,7 @@ class AnalyticsTest extends \MailPoetTest {
$this->settings->set('analytics', ['enabled' => '1']); $this->settings->set('analytics', ['enabled' => '1']);
$this->settings->set('analytics_last_sent', Carbon::now()->subYear()); $this->settings->set('analytics_last_sent', Carbon::now()->subYear());
$analytics = new Analytics($reporter, new SettingsController()); $analytics = new Analytics($reporter, SettingsController::getInstance());
expect($analytics->generateAnalytics())->equals(apply_filters(Analytics::ANALYTICS_FILTER, $data)); expect($analytics->generateAnalytics())->equals(apply_filters(Analytics::ANALYTICS_FILTER, $data));
} }

View File

@ -21,7 +21,7 @@ class MP2MigratorTest extends \MailPoetTest {
public function _before() { public function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->MP2Migrator = new MP2Migrator($this->settings, ContainerWrapper::getInstance()->get(Activator::class)); $this->MP2Migrator = new MP2Migrator($this->settings, ContainerWrapper::getInstance()->get(Activator::class));
} }

View File

@ -17,7 +17,7 @@ class ServicesCheckerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->setMailPoetSendingMethod(); $this->setMailPoetSendingMethod();
$this->fillPremiumKey(); $this->fillPremiumKey();
$this->services_checker = new ServicesChecker(); $this->services_checker = new ServicesChecker();

View File

@ -19,7 +19,7 @@ class CronHelperTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('db_version', MAILPOET_VERSION); $this->settings->set('db_version', MAILPOET_VERSION);
// Disable cron trigger to not run tasks like migration when pinging the daemon // Disable cron trigger to not run tasks like migration when pinging the daemon
$this->settings->set('cron_trigger', [ $this->settings->set('cron_trigger', [

View File

@ -17,7 +17,7 @@ class CronTriggerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->cron_trigger = new CronTrigger($this->settings); $this->cron_trigger = new CronTrigger($this->settings);
} }

View File

@ -21,7 +21,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class); $this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
} }
@ -86,7 +86,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'callSelf' => null, 'callSelf' => null,
]); ]);
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon_http_runner->__construct($daemon, $this->cron_helper, new SettingsController()); $daemon_http_runner->__construct($daemon, $this->cron_helper, SettingsController::getInstance());
$daemon_http_runner->run($data); $daemon_http_runner->run($data);
$updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING); $updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING);
expect($updated_daemon['last_error'][0]['message'])->equals('Message'); expect($updated_daemon['last_error'][0]['message'])->equals('Message');
@ -107,7 +107,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'token' => 123, 'token' => 123,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon_http_runner->__construct($daemon, $this->cron_helper, new SettingsController()); $daemon_http_runner->__construct($daemon, $this->cron_helper, SettingsController::getInstance());
$daemon_http_runner->run($data); $daemon_http_runner->run($data);
} }
@ -129,7 +129,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'token' => 123, 'token' => 123,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->__construct(new Daemon($workers_factory_mock, $this->cron_helper), $this->cron_helper, new SettingsController()); $daemon->__construct(new Daemon($workers_factory_mock, $this->cron_helper), $this->cron_helper, SettingsController::getInstance());
$daemon->run($data); $daemon->run($data);
} }
@ -153,7 +153,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'token' => 123, 'token' => 123,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->__construct(new Daemon($workers_factory_mock, $this->cron_helper), $this->cron_helper, new SettingsController()); $daemon->__construct(new Daemon($workers_factory_mock, $this->cron_helper), $this->cron_helper, SettingsController::getInstance());
$daemon->run($data); $daemon->run($data);
$data_after_run = $this->settings->get(CronHelper::DAEMON_SETTING); $data_after_run = $this->settings->get(CronHelper::DAEMON_SETTING);
expect($data_after_run['token'])->equals(567); expect($data_after_run['token'])->equals(567);
@ -170,7 +170,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'status' => CronHelper::DAEMON_STATUS_INACTIVE, 'status' => CronHelper::DAEMON_STATUS_INACTIVE,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->__construct($this->makeEmpty(Daemon::class), $this->cron_helper, new SettingsController()); $daemon->__construct($this->makeEmpty(Daemon::class), $this->cron_helper, SettingsController::getInstance());
$daemon->run($data); $daemon->run($data);
} }
@ -189,7 +189,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$this->settings->set(CronTrigger::SETTING_NAME . '.method', 'WordPress'); $this->settings->set(CronTrigger::SETTING_NAME . '.method', 'WordPress');
WPFunctions::get()->addFilter('mailpoet_cron_enable_self_deactivation', '__return_true'); WPFunctions::get()->addFilter('mailpoet_cron_enable_self_deactivation', '__return_true');
$daemon_http_runner->__construct($daemon, $this->cron_helper, new SettingsController()); $daemon_http_runner->__construct($daemon, $this->cron_helper, SettingsController::getInstance());
$daemon_http_runner->run($data); $daemon_http_runner->run($data);
WPFunctions::get()->removeAllFilters('mailpoet_cron_enable_self_deactivation'); WPFunctions::get()->removeAllFilters('mailpoet_cron_enable_self_deactivation');
} }
@ -204,7 +204,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'token' => 123, 'token' => 123,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon_http_runner->__construct(new Daemon($this->createWorkersFactoryMock(), $this->cron_helper), $this->cron_helper, new SettingsController()); $daemon_http_runner->__construct(new Daemon($this->createWorkersFactoryMock(), $this->cron_helper), $this->cron_helper, SettingsController::getInstance());
$daemon_http_runner->run($data); $daemon_http_runner->run($data);
$updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING); $updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING);
expect($updated_daemon['token'])->equals($daemon_http_runner->token); expect($updated_daemon['token'])->equals($daemon_http_runner->token);
@ -234,7 +234,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
]; ];
$now = time(); $now = time();
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon_http_runner->__construct($daemon, $this->cron_helper, new SettingsController()); $daemon_http_runner->__construct($daemon, $this->cron_helper, SettingsController::getInstance());
$daemon_http_runner->run($data); $daemon_http_runner->run($data);
$updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING); $updated_daemon = $this->settings->get(CronHelper::DAEMON_SETTING);
expect($updated_daemon['run_started_at'])->greaterOrEquals($now); expect($updated_daemon['run_started_at'])->greaterOrEquals($now);
@ -256,7 +256,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
'token' => 123, 'token' => 123,
]; ];
$this->settings->set(CronHelper::DAEMON_SETTING, $data); $this->settings->set(CronHelper::DAEMON_SETTING, $data);
$daemon->__construct(new Daemon($this->createWorkersFactoryMock(), $this->cron_helper), $this->cron_helper, new SettingsController()); $daemon->__construct(new Daemon($this->createWorkersFactoryMock(), $this->cron_helper), $this->cron_helper, SettingsController::getInstance());
$daemon->run($data); $daemon->run($data);
expect(ignore_user_abort())->equals(1); expect(ignore_user_abort())->equals(1);
} }

View File

@ -18,7 +18,7 @@ class DaemonTest extends \MailPoetTest {
public function _before() { public function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class); $this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
} }

View File

@ -18,7 +18,7 @@ class SupervisorTest extends \MailPoetTest {
// detect any queues to process, it deletes the daemon setting, so Supervisor and // detect any queues to process, it deletes the daemon setting, so Supervisor and
// CronHelper's getDaemon() methods do not work. for that matter, we need to set // CronHelper's getDaemon() methods do not work. for that matter, we need to set
// the trigger setting to anything but 'WordPress'. // the trigger setting to anything but 'WordPress'.
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('cron_trigger', [ $this->settings->set('cron_trigger', [
'method' => 'none', 'method' => 'none',
]); ]);

View File

@ -17,7 +17,7 @@ class MailPoetTest extends \MailPoetTest {
// detect any queues to process, it deletes the daemon setting, so Supervisor that's // detect any queues to process, it deletes the daemon setting, so Supervisor that's
// called by the MailPoet cron trigger does not work. for that matter, we need to set // called by the MailPoet cron trigger does not work. for that matter, we need to set
// the trigger setting to anything but 'WordPress'. // the trigger setting to anything but 'WordPress'.
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('cron_trigger', [ $this->settings->set('cron_trigger', [
'method' => 'none', 'method' => 'none',
]); ]);

View File

@ -29,7 +29,7 @@ class WordPressTest extends \MailPoetTest {
// detect any queues to process, it deletes the daemon setting, so Supervisor that's // detect any queues to process, it deletes the daemon setting, so Supervisor that's
// called by the MailPoet cron trigger does not work. for that matter, we need to set // called by the MailPoet cron trigger does not work. for that matter, we need to set
// the trigger setting to anything but 'WordPress'. // the trigger setting to anything but 'WordPress'.
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('cron_trigger', [ $this->settings->set('cron_trigger', [
'method' => 'none', 'method' => 'none',
]); ]);

View File

@ -15,7 +15,7 @@ class AuthorizedSendingEmailsCheckTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
} }

View File

@ -13,7 +13,7 @@ class BeamerTest extends \MailPoetTest {
function testItSetsLastAnnouncementDate() { function testItSetsLastAnnouncementDate() {
$oldDate = '2019-05-18T10:25:00.000Z'; $oldDate = '2019-05-18T10:25:00.000Z';
$newDate = '2019-05-22T10:25:00.000Z'; $newDate = '2019-05-22T10:25:00.000Z';
$settings = new SettingsController; $settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp()); $settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [ $wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null, 'wpRemoteGet' => null,
@ -29,7 +29,7 @@ class BeamerTest extends \MailPoetTest {
function testItDoesNothingIfNoResponse() { function testItDoesNothingIfNoResponse() {
$oldDate = '2019-05-18T10:25:00.000Z'; $oldDate = '2019-05-18T10:25:00.000Z';
$settings = new SettingsController; $settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp()); $settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [ $wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null, 'wpRemoteGet' => null,
@ -43,7 +43,7 @@ class BeamerTest extends \MailPoetTest {
function testItDoesNothingIfWrongResponse() { function testItDoesNothingIfWrongResponse() {
$oldDate = '2019-05-18T10:25:00.000Z'; $oldDate = '2019-05-18T10:25:00.000Z';
$settings = new SettingsController; $settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp()); $settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [ $wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null, 'wpRemoteGet' => null,
@ -57,7 +57,7 @@ class BeamerTest extends \MailPoetTest {
function testItDoesNothingIfEmptyList() { function testItDoesNothingIfEmptyList() {
$oldDate = '2019-05-18T10:25:00.000Z'; $oldDate = '2019-05-18T10:25:00.000Z';
$settings = new SettingsController; $settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp()); $settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [ $wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null, 'wpRemoteGet' => null,

View File

@ -100,7 +100,7 @@ class BounceTest extends \MailPoetTest {
} }
private function setMailPoetSendingMethod() { private function setMailPoetSendingMethod() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set( $settings->set(
Mailer::MAILER_CONFIG_SETTING_NAME, Mailer::MAILER_CONFIG_SETTING_NAME,
[ [

View File

@ -17,7 +17,7 @@ class InactiveSubscribersTest extends \MailPoetTest {
private $settings; private $settings;
function _before() { function _before() {
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
$this->settings->set('tracking.enabled', true); $this->settings->set('tracking.enabled', true);
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class); $this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);

View File

@ -15,7 +15,7 @@ class PremiumKeyCheckTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->premium_key = '123457890abcdef'; $this->premium_key = '123457890abcdef';
$this->worker = new PremiumKeyCheck($this->settings, microtime(true)); $this->worker = new PremiumKeyCheck($this->settings, microtime(true));
} }

View File

@ -48,7 +48,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
} }
private function setMailPoetSendingMethod() { private function setMailPoetSendingMethod() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set( $settings->set(
Mailer::MAILER_CONFIG_SETTING_NAME, Mailer::MAILER_CONFIG_SETTING_NAME,
[ [

View File

@ -58,7 +58,7 @@ class SendingQueueTest extends \MailPoetTest {
parent::_before(); parent::_before();
$wp_users = get_users(); $wp_users = get_users();
wp_set_current_user($wp_users[0]->ID); wp_set_current_user($wp_users[0]->ID);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings); $referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings);
$features_controller = Stub::makeEmpty(FeaturesController::class); $features_controller = Stub::makeEmpty(FeaturesController::class);
$wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings); $wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings);

View File

@ -27,7 +27,7 @@ class MailerTest extends \MailPoetTest {
parent::_before(); parent::_before();
$wp_users = get_users(); $wp_users = get_users();
wp_set_current_user($wp_users[0]->ID); wp_set_current_user($wp_users[0]->ID);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings); $referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings);
$features_controller = Stub::makeEmpty(FeaturesController::class); $features_controller = Stub::makeEmpty(FeaturesController::class);
$wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings); $wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings);

View File

@ -42,7 +42,7 @@ class AutomatedEmailsTest extends \MailPoetTest {
]); ]);
$this->mailer = $this->createMock(Mailer::class); $this->mailer = $this->createMock(Mailer::class);
$this->renderer = $this->createMock(Renderer::class); $this->renderer = $this->createMock(Renderer::class);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->stats_notifications = new AutomatedEmails( $this->stats_notifications = new AutomatedEmails(
$this->mailer, $this->mailer,
$this->renderer, $this->renderer,

View File

@ -59,7 +59,7 @@ class WorkerTest extends \MailPoetTest {
$this->repository->truncate(); $this->repository->truncate();
$this->mailer = $this->createMock(Mailer::class); $this->mailer = $this->createMock(Mailer::class);
$this->renderer = $this->createMock(Renderer::class); $this->renderer = $this->createMock(Renderer::class);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class); $this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
$this->stats_notifications = new Worker( $this->stats_notifications = new Worker(
$this->mailer, $this->mailer,

View File

@ -30,7 +30,7 @@ class BeaconTest extends \MailPoetTest {
]); ]);
$this->beacon_data = $this->di_container->get(Beacon::class)->getData(); $this->beacon_data = $this->di_container->get(Beacon::class)->getData();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItReturnsPhpVersion() { function testItReturnsPhpVersion() {

View File

@ -14,7 +14,7 @@ class MailerLogTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItGetsMailerLogWhenOneExists() { function testItGetsMailerLogWhenOneExists() {

View File

@ -64,7 +64,7 @@ class MailerTest extends \MailPoetTest {
'text' => 'TEXT body', 'text' => 'TEXT body',
], ],
]; ];
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItRequiresMailerMethod() { function testItRequiresMailerMethod() {

View File

@ -11,7 +11,7 @@ class FormTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->form = Form::createOrUpdate([ $this->form = Form::createOrUpdate([
'name' => 'My Form', 'name' => 'My Form',
]); ]);

View File

@ -63,13 +63,13 @@ class SettingTest extends \MailPoetTest {
} }
function testSaveDefaultSenderIfNeededNotSaveEmptyValue() { function testSaveDefaultSenderIfNeededNotSaveEmptyValue() {
$settings_controller = new SettingsController(); $settings_controller = SettingsController::getInstance();
Setting::saveDefaultSenderIfNeeded('', null); Setting::saveDefaultSenderIfNeeded('', null);
expect($settings_controller->get('sender'))->null(); expect($settings_controller->get('sender'))->null();
} }
function testSaveDefaultSenderIfNeededDoesntOverride() { function testSaveDefaultSenderIfNeededDoesntOverride() {
$settings_controller = new SettingsController(); $settings_controller = SettingsController::getInstance();
$settings_controller->set('sender', ['name' => 'sender1', 'address' => 'sender1address']); $settings_controller->set('sender', ['name' => 'sender1', 'address' => 'sender1address']);
Setting::saveDefaultSenderIfNeeded('sender2address', 'sender1'); Setting::saveDefaultSenderIfNeeded('sender2address', 'sender1');
$settings = $settings_controller->get('sender'); $settings = $settings_controller->get('sender');
@ -78,7 +78,7 @@ class SettingTest extends \MailPoetTest {
} }
function testSaveDefaultSenderIfNeeded() { function testSaveDefaultSenderIfNeeded() {
$settings_controller = new SettingsController(); $settings_controller = SettingsController::getInstance();
Setting::saveDefaultSenderIfNeeded('senderAddress', 'sender'); Setting::saveDefaultSenderIfNeeded('senderAddress', 'sender');
$settings = $settings_controller->get('sender'); $settings = $settings_controller->get('sender');
expect($settings['name'])->equals('sender'); expect($settings['name'])->equals('sender');

View File

@ -35,7 +35,7 @@ class SubscriberTest extends \MailPoetTest {
$this->subscriber = Subscriber::create(); $this->subscriber = Subscriber::create();
$this->subscriber->hydrate($this->test_data); $this->subscriber->hydrate($this->test_data);
$this->saved = $this->subscriber->save(); $this->saved = $this->subscriber->save();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('sender', [ $this->settings->set('sender', [
'name' => 'John Doe', 'name' => 'John Doe',
'address' => 'john.doe@example.com', 'address' => 'john.doe@example.com',

View File

@ -33,7 +33,7 @@ class ShortcodesTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings); $referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings);
$features_controller = Stub::makeEmpty(FeaturesController::class); $features_controller = Stub::makeEmpty(FeaturesController::class);
$wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings); $wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings);

View File

@ -136,7 +136,7 @@ class ViewInBrowserTest extends \MailPoetTest {
} }
function testItConvertsShortcodes() { function testItConvertsShortcodes() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('tracking.enabled', false); $settings->set('tracking.enabled', false);
$rendered_body = $this->view_in_browser->renderNewsletter( $rendered_body = $this->view_in_browser->renderNewsletter(
$this->newsletter, $this->newsletter,
@ -149,7 +149,7 @@ class ViewInBrowserTest extends \MailPoetTest {
} }
function testItRewritesLinksToRouterEndpointWhenTrackingIsEnabled() { function testItRewritesLinksToRouterEndpointWhenTrackingIsEnabled() {
$settings = new SettingsController(); $settings = SettingsController::getInstance();
$settings->set('tracking.enabled', true); $settings->set('tracking.enabled', true);
$view_in_browser = new ViewInBrowser($this->emoji, true); $view_in_browser = new ViewInBrowser($this->emoji, true);
$queue = $this->queue; $queue = $this->queue;

View File

@ -16,7 +16,7 @@ class UrlDecoratorTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->url_decorator = new UrlDecorator(WPFunctions::get(), $this->settings); $this->url_decorator = new UrlDecorator(WPFunctions::get(), $this->settings);
} }

View File

@ -54,7 +54,7 @@ class TrackTest extends \MailPoetTest {
'preview' => false, 'preview' => false,
]; ];
// instantiate class // instantiate class
$this->track = new Track(new Clicks(new SettingsController(), new Cookies()), new Opens(), new LinkTokens()); $this->track = new Track(new Clicks(SettingsController::getInstance(), new Cookies()), new Opens(), new LinkTokens());
} }
function testItReturnsFalseWhenTrackDataIsMissing() { function testItReturnsFalseWhenTrackDataIsMissing() {

View File

@ -45,7 +45,7 @@ class ViewInBrowserTest extends \MailPoetTest {
'preview' => false, 'preview' => false,
]; ];
// instantiate class // instantiate class
$this->view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), new SettingsController(), new LinkTokens(), new Emoji()); $this->view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), SettingsController::getInstance(), new LinkTokens(), new Emoji());
} }
function testItAbortsWhenBrowserPreviewDataIsMissing() { function testItAbortsWhenBrowserPreviewDataIsMissing() {
@ -155,12 +155,12 @@ class ViewInBrowserTest extends \MailPoetTest {
$wp_user = wp_set_current_user(0); $wp_user = wp_set_current_user(0);
// when WP user does not have 'manage options' permission, false should be returned // when WP user does not have 'manage options' permission, false should be returned
$wp_user->remove_role('administrator'); $wp_user->remove_role('administrator');
$view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), new SettingsController(), new LinkTokens(), new Emoji()); $view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), SettingsController::getInstance(), new LinkTokens(), new Emoji());
expect($view_in_browser->_validateBrowserPreviewData($data))->false(); expect($view_in_browser->_validateBrowserPreviewData($data))->false();
// when WP has 'manage options' permission, data should be returned // when WP has 'manage options' permission, data should be returned
$wp_user->add_role('administrator'); $wp_user->add_role('administrator');
$view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), new SettingsController(), new LinkTokens(), new Emoji()); $view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), SettingsController::getInstance(), new LinkTokens(), new Emoji());
expect($view_in_browser->_validateBrowserPreviewData($data))->equals($data); expect($view_in_browser->_validateBrowserPreviewData($data))->equals($data);
} }
@ -176,7 +176,7 @@ class ViewInBrowserTest extends \MailPoetTest {
); );
$data->preview = true; $data->preview = true;
wp_set_current_user(1); wp_set_current_user(1);
$view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), new SettingsController(), new LinkTokens(), new Emoji()); $view_in_browser = new ViewInBrowser(new AccessControl(new Functions()), SettingsController::getInstance(), new LinkTokens(), new Emoji());
$result = $view_in_browser->_validateBrowserPreviewData($data); $result = $view_in_browser->_validateBrowserPreviewData($data);
expect($result->subscriber->id)->equals(1); expect($result->subscriber->id)->equals(1);
} }
@ -211,7 +211,7 @@ class ViewInBrowserTest extends \MailPoetTest {
$view_in_browser = Stub::make($this->view_in_browser, [ $view_in_browser = Stub::make($this->view_in_browser, [
'link_tokens' => new LinkTokens, 'link_tokens' => new LinkTokens,
'_displayNewsletter' => Expected::exactly(1), '_displayNewsletter' => Expected::exactly(1),
'settings' => new SettingsController(), 'settings' => SettingsController::getInstance(),
'emoji' => new Emoji(), 'emoji' => new Emoji(),
], $this); ], $this);
$view_in_browser->view($this->browser_preview_data); $view_in_browser->view($this->browser_preview_data);

View File

@ -20,7 +20,7 @@ class AuthorizedEmailsControllerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItResetsAuthorisedEmailsErrorIfMssIsNotActive() { function testItResetsAuthorisedEmailsErrorIfMssIsNotActive() {

View File

@ -36,7 +36,7 @@ class BridgeTest extends \MailPoetTest {
$this->bridge = new Bridge(); $this->bridge = new Bridge();
$this->bridge->api = new MockAPI('key'); $this->bridge->api = new MockAPI('key');
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItChecksIfCurrentSendingMethodIsMailpoet() { function testItChecksIfCurrentSendingMethodIsMailpoet() {

View File

@ -13,7 +13,7 @@ class SettingsControllerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->controller = new SettingsController(); $this->controller = SettingsController::getInstance();
} }
function testItReturnsStoredValue() { function testItReturnsStoredValue() {

View File

@ -90,7 +90,7 @@ class ConfirmationEmailMailerTest extends \MailPoetTest {
'send' => Stub\Expected::never(), 'send' => Stub\Expected::never(),
]); ]);
$settings = new SettingsController; $settings = SettingsController::getInstance();
$settings->set(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING, ['invalid_sender_address' => 'email@email.com']); $settings->set(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING, ['invalid_sender_address' => 'email@email.com']);
$settings->set(Mailer::MAILER_CONFIG_SETTING_NAME, ['method' => Mailer::METHOD_MAILPOET]); $settings->set(Mailer::MAILER_CONFIG_SETTING_NAME, ['method' => Mailer::METHOD_MAILPOET]);
$sender = new ConfirmationEmailMailer($mailer); $sender = new ConfirmationEmailMailer($mailer);

View File

@ -27,7 +27,7 @@ class NewSubscriberNotificationMailerTest extends \MailPoetTest {
$this->segments = [Segment::create(), Segment::create()]; $this->segments = [Segment::create(), Segment::create()];
$this->segments[0]->name = 'List1'; $this->segments[0]->name = 'List1';
$this->segments[1]->name = 'List2'; $this->segments[1]->name = 'List2';
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
} }
function testItDoesNotSendIfNoSettings() { function testItDoesNotSendIfNoSettings() {

View File

@ -33,7 +33,7 @@ class SubscriberActionsTest extends \MailPoetTest {
'email' => 'john@mailpoet.com', 'email' => 'john@mailpoet.com',
]; ];
$this->subscriber_actions = ContainerWrapper::getInstance()->get(SubscriberActions::class); $this->subscriber_actions = ContainerWrapper::getInstance()->get(SubscriberActions::class);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('sender', [ $this->settings->set('sender', [
'name' => 'John Doe', 'name' => 'John Doe',
'address' => 'john.doe@example.com', 'address' => 'john.doe@example.com',

View File

@ -24,7 +24,7 @@ class FormTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->settings->set('sender', [ $this->settings->set('sender', [
'name' => 'John Doe', 'name' => 'John Doe',
'address' => 'john.doe@example.com', 'address' => 'john.doe@example.com',

View File

@ -26,7 +26,7 @@ class UrlTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->settings = new SettingsController; $this->settings = SettingsController::getInstance();
$referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings); $referral_detector = new ReferralDetector(WPFunctions::get(), $this->settings);
$features_controller = Stub::makeEmpty(FeaturesController::class); $features_controller = Stub::makeEmpty(FeaturesController::class);
$wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings); $wc_transactional_emails = new TransactionalEmails(WPFunctions::get(), $this->settings);

View File

@ -13,7 +13,7 @@ class InactiveSubscribersNoticeTest extends \MailPoetTest {
function testItDisplays() { function testItDisplays() {
$this->createSubscribers(50); $this->createSubscribers(50);
$notice = new InactiveSubscribersNotice(new SettingsController(), new WPFunctions()); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions());
$result = $notice->init(true); $result = $notice->init(true);
expect($result)->contains('Good news! MailPoet wont send emails to your 50 inactive subscribers.'); expect($result)->contains('Good news! MailPoet wont send emails to your 50 inactive subscribers.');
expect($result)->contains('https://kb.mailpoet.com/article/264-inactive-subscribers'); expect($result)->contains('https://kb.mailpoet.com/article/264-inactive-subscribers');
@ -23,7 +23,7 @@ class InactiveSubscribersNoticeTest extends \MailPoetTest {
function testItDoesntDisplayWhenDisabled() { function testItDoesntDisplayWhenDisabled() {
$this->createSubscribers(50); $this->createSubscribers(50);
$notice = new InactiveSubscribersNotice(new SettingsController(), new WPFunctions()); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions());
$notice->disable(); $notice->disable();
$result = $notice->init(true); $result = $notice->init(true);
expect($result)->null(); expect($result)->null();
@ -35,7 +35,7 @@ class InactiveSubscribersNoticeTest extends \MailPoetTest {
$settings_factory = new Settings(); $settings_factory = new Settings();
$settings_factory->withDeactivateSubscriberAfter3Months(); $settings_factory->withDeactivateSubscriberAfter3Months();
$notice = new InactiveSubscribersNotice(new SettingsController(), new WPFunctions()); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions());
$result = $notice->init(true); $result = $notice->init(true);
expect($result)->null(); expect($result)->null();
} }
@ -43,7 +43,7 @@ class InactiveSubscribersNoticeTest extends \MailPoetTest {
function testItDoesntDisplayWhenNotEnoughInactiveSubscribers() { function testItDoesntDisplayWhenNotEnoughInactiveSubscribers() {
$this->createSubscribers(49); $this->createSubscribers(49);
$notice = new InactiveSubscribersNotice(new SettingsController(), new WPFunctions()); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions());
$result = $notice->init(true); $result = $notice->init(true);
expect($result)->null(); expect($result)->null();
} }

View File

@ -30,7 +30,7 @@ class SubscriptionTest extends \MailPoetTest {
function _before() { function _before() {
$this->order_id = 123; // dummy $this->order_id = 123; // dummy
$this->subscription = ContainerWrapper::getInstance()->get(Subscription::class); $this->subscription = ContainerWrapper::getInstance()->get(Subscription::class);
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->wc_segment = Segment::getWooCommerceSegment(); $this->wc_segment = Segment::getWooCommerceSegment();
$subscriber = Subscriber::create(); $subscriber = Subscriber::create();

View File

@ -22,7 +22,7 @@ class TransactionalEmailsTest extends \MailPoetTest {
function _before() { function _before() {
$this->wp = new WPFunctions(); $this->wp = new WPFunctions();
$this->settings = new SettingsController(); $this->settings = SettingsController::getInstance();
$this->original_wc_settings = $this->settings->get('woocommerce'); $this->original_wc_settings = $this->settings->get('woocommerce');
$this->transactional_emails = new TransactionalEmails($this->wp, $this->settings); $this->transactional_emails = new TransactionalEmails($this->wp, $this->settings);
} }

View File

@ -1,6 +1,7 @@
<?php <?php
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Settings\SettingsController;
use MailPoetVendor\Doctrine\DBAL\Connection; use MailPoetVendor\Doctrine\DBAL\Connection;
use MailPoetVendor\Doctrine\ORM\EntityManager; use MailPoetVendor\Doctrine\ORM\EntityManager;
@ -52,7 +53,7 @@ $destroy = function($model) use ($connection) {
array_map($destroy, $models); array_map($destroy, $models);
// save plugin version to avoid running migrations (that cause $GLOBALS serialization errors) // save plugin version to avoid running migrations (that cause $GLOBALS serialization errors)
$settings = new \MailPoet\Settings\SettingsController(); $settings = SettingsController::getInstance();
$settings->set('db_version', \MailPoet\Config\Env::$version); $settings->set('db_version', \MailPoet\Config\Env::$version);
$cacheDir = '/tmp'; $cacheDir = '/tmp';