HEX
Server: Apache
System: Linux uyu7574470001-7d78c9ff74-xfpwm 4.19.91-21.al7.x86_64 #1 SMP Wed Sep 2 19:47:49 CST 2020 x86_64
User: ()
PHP: 7.4.16
Disabled: chmod,exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_client,stream_socket_server,pfsockopen,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep,fsockopen
Upload Files
File: /usr/home/uyu7574470001/htdocs/wp-content/plugins/newsletter/includes/cron.php
<?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);
}

// Try to use the defined cron interval. If it is not a number use 300. If less than 60 or over 900 apply those contraints
define('NEWSLETTER_REAL_CRON_INTERVAL', min(max(60, intval(NEWSLETTER_CRON_INTERVAL) ?: 300), 900));

// 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();
    if (count($calls) > 100) {
        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_REAL_CRON_INTERVAL,
        'display' => 'Newsletter plugin'
    ];
    return $schedules;
}, 1000);

// Attempt to record problems with the scheduler...
add_action('cron_reschedule_event_error', function ($result, $hook, $v) {
    \Newsletter\Logs::add('cron', 'Reschedule error: ' . $hook, 0, $result);
}, 1, 3);

add_action('cron_unschedule_event_error', function ($result, $hook, $v) {
    \Newsletter\Logs::add('cron', 'Unschedule error: ' . $hook, 0, $result);
}, 1, 3);