| Server IP : 89.108.64.180 / Your IP : 216.73.217.95 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/hotelzm.com/wp-content/plugins/newsletter/includes/ |
Upload File : |
<?php
/**
* Set up and log the cron system. To be loaded at the plugin start.
*/
defined('ABSPATH') || exit;
// Can be redefined in wp-config.php (not recommended)
if (!defined('NEWSLETTER_CRON_INTERVAL')) {
define('NEWSLETTER_CRON_INTERVAL', 300);
}
// Logging of the cron calls to debug the so many situations where the cron is not triggered at all (grrr...).
if (defined('DOING_CRON') && DOING_CRON) {
$calls = get_option('newsletter_diagnostic_cron_calls', []);
// Protection against scrambled options or bad written database caching plugin (yes, it happened, grrr...).
if (!is_array($calls)) {
$calls = [];
}
$calls[] = time();
// TODO: create a constant for samples limit
if (count($calls) > 100) {
// TODO: optimize using array_slice() and call every ten records
array_shift($calls);
}
update_option('newsletter_diagnostic_cron_calls', $calls, false);
}
// As soon as possible but with low priority so it is ecxecutes as last filter to avoid bad witten
// filters which remove other's schedules (yes, it happened, grrr...).
add_filter('cron_schedules', function ($schedules) {
$schedules['newsletter'] = [
'interval' => NEWSLETTER_CRON_INTERVAL,
'display' => 'Every ' . NEWSLETTER_CRON_INTERVAL . ' seconds'
];
return $schedules;
}, 1000);