| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace MailPoet\AdminPages\Pages;
- if (!defined('ABSPATH')) exit;
- use MailPoet\AdminPages\PageRenderer;
- use MailPoet\Cron\CronHelper;
- use MailPoet\Helpscout\Beacon;
- use MailPoet\Mailer\MailerLog;
- use MailPoet\Router\Endpoints\CronDaemon;
- use MailPoet\Services\Bridge;
- use MailPoet\Tasks\Sending;
- use MailPoet\Tasks\State;
- class Help {
- /** @var PageRenderer */
- private $pageRenderer;
- /** @var State */
- private $tasksState;
- /** @var CronHelper */
- private $cronHelper;
- /** @var Beacon */
- private $helpscoutBeacon;
- public function __construct(
- PageRenderer $pageRenderer,
- State $tasksState,
- CronHelper $cronHelper,
- Beacon $helpscoutBeacon
- ) {
- $this->pageRenderer = $pageRenderer;
- $this->tasksState = $tasksState;
- $this->cronHelper = $cronHelper;
- $this->helpscoutBeacon = $helpscoutBeacon;
- }
- public function render() {
- $systemInfoData = $this->helpscoutBeacon->getData();
- $cronPingResponse = $this->cronHelper->pingDaemon();
- $systemStatusData = [
- 'cron' => [
- 'url' => $this->cronHelper->getCronUrl(CronDaemon::ACTION_PING),
- 'isReachable' => $this->cronHelper->validatePingResponse($cronPingResponse),
- 'pingResponse' => $cronPingResponse,
- ],
- 'mss' => [
- 'enabled' => (Bridge::isMPSendingServiceEnabled()) ?
- ['isReachable' => Bridge::pingBridge()] :
- false,
- ],
- 'cronStatus' => $this->cronHelper->getDaemon(),
- 'queueStatus' => MailerLog::getMailerLog(),
- ];
- $systemStatusData['cronStatus']['accessible'] = $this->cronHelper->isDaemonAccessible();
- $systemStatusData['queueStatus']['tasksStatusCounts'] = $this->tasksState->getCountsPerStatus();
- $systemStatusData['queueStatus']['latestTasks'] = $this->tasksState->getLatestTasks(Sending::TASK_TYPE);
- $this->pageRenderer->displayPage(
- 'help.html',
- [
- 'systemInfoData' => $systemInfoData,
- 'systemStatusData' => $systemStatusData,
- ]
- );
- }
- }
|