forked from mailpoet/mailpoet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmailpoet-cron.php
50 lines (40 loc) · 1.34 KB
/
mailpoet-cron.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
ini_set("display_errors", "1");
error_reporting(E_ALL);
if (!isset($argv[1]) || !$argv[1]) {
echo 'You need to pass a WordPress root as an argument.';
exit(1);
}
$wpLoadFile = $argv[1] . '/wp-load.php';
if (!file_exists($wpLoadFile)) {
echo 'WordPress root argument is not valid.';
exit(1);
}
if (!defined('ABSPATH')) {
/** Set up WordPress environment */
require_once($wpLoadFile);
}
if (!is_plugin_active('mailpoet/mailpoet.php')) {
echo 'MailPoet plugin is not active';
exit(1);
}
// Check for minimum supported PHP version
if (version_compare(phpversion(), '7.2.0', '<')) {
echo 'MailPoet requires PHP version 7.2 or newer (version 8.0 recommended).';
exit(1);
}
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) {
set_time_limit(0);
}
$container = \MailPoet\DI\ContainerWrapper::getInstance(WP_DEBUG);
// Check if Linux Cron method is set in plugin settings
$settings = $container->get(\MailPoet\Settings\SettingsController::class);
if ($settings->get('cron_trigger.method') !== \MailPoet\Cron\CronTrigger::METHOD_LINUX_CRON) {
echo 'MailPoet is not configured to run with Linux Cron.';
exit(1);
}
// Run Cron Daemon
$cronHelper = $container->get(\MailPoet\Cron\CronHelper::class);
$data = $cronHelper->createDaemon(null);
$trigger = $container->get(\MailPoet\Cron\Daemon::class);
$trigger->run($data);