Use CronHelper service in API and UI classes [MAILPOET-2459]
This commit is contained in:
@ -47,6 +47,9 @@ class Newsletters extends APIEndpoint {
|
||||
/** @var SettingsController */
|
||||
private $settings;
|
||||
|
||||
/** @var CronHelper */
|
||||
private $cron_helper;
|
||||
|
||||
/** @var AuthorizedEmailsController */
|
||||
private $authorized_emails_controller;
|
||||
|
||||
@ -75,6 +78,7 @@ class Newsletters extends APIEndpoint {
|
||||
WPFunctions $wp,
|
||||
WCHelper $woocommerce_helper,
|
||||
SettingsController $settings,
|
||||
CronHelper $cron_helper,
|
||||
AuthorizedEmailsController $authorized_emails_controller,
|
||||
NewslettersRepository $newsletters_repository,
|
||||
NewslettersResponseBuilder $newsletters_response_builder,
|
||||
@ -87,6 +91,7 @@ class Newsletters extends APIEndpoint {
|
||||
$this->wp = $wp;
|
||||
$this->woocommerce_helper = $woocommerce_helper;
|
||||
$this->settings = $settings;
|
||||
$this->cron_helper = $cron_helper;
|
||||
$this->authorized_emails_controller = $authorized_emails_controller;
|
||||
$this->newsletters_repository = $newsletters_repository;
|
||||
$this->newsletters_response_builder = $newsletters_response_builder;
|
||||
@ -556,7 +561,7 @@ class Newsletters extends APIEndpoint {
|
||||
'groups' => $listing_data['groups'],
|
||||
'mta_log' => $this->settings->get('mta_log'),
|
||||
'mta_method' => $this->settings->get('mta.method'),
|
||||
'cron_accessible' => CronHelper::isDaemonAccessible(),
|
||||
'cron_accessible' => $this->cron_helper->isDaemonAccessible(),
|
||||
'current_time' => $this->wp->currentTime('mysql'),
|
||||
]);
|
||||
}
|
||||
|
@ -25,16 +25,21 @@ class SendingTaskSubscribers extends APIEndpoint {
|
||||
/** @var SettingsController */
|
||||
private $settings;
|
||||
|
||||
/** @var CronHelper */
|
||||
private $cron_helper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
function __construct(
|
||||
Listing\Handler $listing_handler,
|
||||
SettingsController $settings,
|
||||
CronHelper $cron_helper,
|
||||
WPFunctions $wp
|
||||
) {
|
||||
$this->listing_handler = $listing_handler;
|
||||
$this->settings = $settings;
|
||||
$this->cron_helper = $cron_helper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
@ -62,7 +67,7 @@ class SendingTaskSubscribers extends APIEndpoint {
|
||||
'groups' => $listing_data['groups'],
|
||||
'mta_log' => $this->settings->get('mta_log'),
|
||||
'mta_method' => $this->settings->get('mta.method'),
|
||||
'cron_accessible' => CronHelper::isDaemonAccessible(),
|
||||
'cron_accessible' => $this->cron_helper->isDaemonAccessible(),
|
||||
'current_time' => $this->wp->currentTime('mysql'),
|
||||
]);
|
||||
}
|
||||
|
@ -18,18 +18,22 @@ class Help {
|
||||
/** @var State */
|
||||
private $tasks_state;
|
||||
|
||||
function __construct(PageRenderer $page_renderer, State $tasks_state) {
|
||||
/** @var CronHelper */
|
||||
private $cron_helper;
|
||||
|
||||
function __construct(PageRenderer $page_renderer, State $tasks_state, CronHelper $cron_helper) {
|
||||
$this->page_renderer = $page_renderer;
|
||||
$this->tasks_state = $tasks_state;
|
||||
$this->cron_helper = $cron_helper;
|
||||
}
|
||||
|
||||
function render() {
|
||||
$system_info_data = Beacon::getData();
|
||||
$cron_ping_response = CronHelper::pingDaemon();
|
||||
$cron_ping_response = $this->cron_helper->pingDaemon();
|
||||
$system_status_data = [
|
||||
'cron' => [
|
||||
'url' => CronHelper::getCronUrl(CronDaemon::ACTION_PING),
|
||||
'isReachable' => CronHelper::validatePingResponse($cron_ping_response),
|
||||
'url' => $this->cron_helper->getCronUrl(CronDaemon::ACTION_PING),
|
||||
'isReachable' => $this->cron_helper->validatePingResponse($cron_ping_response),
|
||||
'pingResponse' => $cron_ping_response,
|
||||
],
|
||||
'mss' => [
|
||||
@ -37,10 +41,10 @@ class Help {
|
||||
['isReachable' => Bridge::pingBridge()] :
|
||||
false,
|
||||
],
|
||||
'cronStatus' => CronHelper::getDaemon(),
|
||||
'cronStatus' => $this->cron_helper->getDaemon(),
|
||||
'queueStatus' => MailerLog::getMailerLog(),
|
||||
];
|
||||
$system_status_data['cronStatus']['accessible'] = CronHelper::isDaemonAccessible();
|
||||
$system_status_data['cronStatus']['accessible'] = $this->cron_helper->isDaemonAccessible();
|
||||
$system_status_data['queueStatus']['tasksStatusCounts'] = $this->tasks_state->getCountsPerStatus();
|
||||
$system_status_data['queueStatus']['latestTasks'] = $this->tasks_state->getLatestTasks(Sending::TASK_TYPE);
|
||||
$this->page_renderer->displayPage(
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace MailPoet\Helpscout;
|
||||
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Router\Endpoints\CronDaemon;
|
||||
use MailPoet\Services\Bridge;
|
||||
@ -19,6 +20,10 @@ class Beacon {
|
||||
$current_user = WPFunctions::get()->wpGetCurrentUser();
|
||||
$sender = $settings->get('sender');
|
||||
$premium_key = $settings->get(Bridge::PREMIUM_KEY_SETTING_NAME) ?: $settings->get(Bridge::API_KEY_SETTING_NAME);
|
||||
$cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
|
||||
$cron_ping_url = $cron_helper->getCronUrl(
|
||||
CronDaemon::ACTION_PING
|
||||
);
|
||||
return [
|
||||
'name' => $current_user->display_name,
|
||||
'email' => $sender['address'],
|
||||
@ -48,9 +53,7 @@ class Beacon {
|
||||
$mta['frequency']['interval']
|
||||
),
|
||||
'Task Scheduler method' => $settings->get('cron_trigger.method'),
|
||||
'Cron ping URL' => CronHelper::getCronUrl(
|
||||
CronDaemon::ACTION_PING
|
||||
),
|
||||
'Cron ping URL' => $cron_ping_url,
|
||||
'Default FROM address' => $settings->get('sender.address'),
|
||||
'Default Reply-To address' => $settings->get('reply_to.address'),
|
||||
'Bounce Email Address' => $settings->get('bounce.address'),
|
||||
|
@ -10,6 +10,7 @@ use Helper\WordPressHooks as WPHooksHelper;
|
||||
use MailPoet\API\JSON\Response as APIResponse;
|
||||
use MailPoet\API\JSON\ResponseBuilders\NewslettersResponseBuilder;
|
||||
use MailPoet\API\JSON\v1\Newsletters;
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Listing\BulkActionController;
|
||||
use MailPoet\Listing\Handler;
|
||||
@ -42,9 +43,13 @@ class NewslettersTest extends \MailPoetTest {
|
||||
/** @var SubscriptionUrlFactory */
|
||||
private $subscription_url_factory;
|
||||
|
||||
/** @var CronHelper */
|
||||
private $cron_helper;
|
||||
|
||||
function _before() {
|
||||
parent::_before();
|
||||
$this->subscription_url_factory = SubscriptionUrlFactory::getInstance();
|
||||
$this->cron_helper = ContainerWrapper::getInstance()->get(CronHelper::class);
|
||||
$this->endpoint = ContainerWrapper::getInstance()->get(Newsletters::class);
|
||||
$this->newsletter = Newsletter::createOrUpdate(
|
||||
[
|
||||
@ -135,6 +140,7 @@ class NewslettersTest extends \MailPoetTest {
|
||||
$wp,
|
||||
$this->makeEmpty(WCHelper::class),
|
||||
new SettingsController(),
|
||||
$this->cron_helper,
|
||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]),
|
||||
ContainerWrapper::getInstance()->get(NewslettersRepository::class),
|
||||
ContainerWrapper::getInstance()->get(NewslettersResponseBuilder::class),
|
||||
@ -189,6 +195,7 @@ class NewslettersTest extends \MailPoetTest {
|
||||
$wp,
|
||||
$this->makeEmpty(WCHelper::class),
|
||||
new SettingsController(),
|
||||
$this->cron_helper,
|
||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()]),
|
||||
ContainerWrapper::getInstance()->get(NewslettersRepository::class),
|
||||
ContainerWrapper::getInstance()->get(NewslettersResponseBuilder::class),
|
||||
@ -562,6 +569,7 @@ class NewslettersTest extends \MailPoetTest {
|
||||
$wp,
|
||||
$this->makeEmpty(WCHelper::class),
|
||||
new SettingsController(),
|
||||
$this->cron_helper,
|
||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]),
|
||||
ContainerWrapper::getInstance()->get(NewslettersRepository::class),
|
||||
ContainerWrapper::getInstance()->get(NewslettersResponseBuilder::class),
|
||||
@ -902,6 +910,7 @@ class NewslettersTest extends \MailPoetTest {
|
||||
$wp,
|
||||
$this->makeEmpty(WCHelper::class),
|
||||
new SettingsController(),
|
||||
$this->cron_helper,
|
||||
ContainerWrapper::getInstance()->get(AuthorizedEmailsController::class),
|
||||
ContainerWrapper::getInstance()->get(NewslettersRepository::class),
|
||||
ContainerWrapper::getInstance()->get(NewslettersResponseBuilder::class),
|
||||
|
Reference in New Issue
Block a user