File "cron.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/really-simple-ssl/lets-encrypt/cron.php
File size: 2.56 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') or die;
add_action('plugins_loaded', 'rsssl_le_schedule_cron');
function rsssl_le_schedule_cron()
{
    if (!RSSSL()->rsssl_front_end->ssl_enabled) {
        return;
    }
    if (!get_option('rsssl_le_certificate_generated_by_rsssl')) {
        return;
    }
    $useCron = true;
    if ($useCron) {
        if (!wp_next_scheduled('rsssl_le_every_week_hook')) {
            wp_schedule_event(time(), 'rsssl_le_weekly', 'rsssl_le_every_week_hook');
        }
        if (!wp_next_scheduled('rsssl_le_every_day_hook')) {
            wp_schedule_event(time(), 'rsssl_le_daily', 'rsssl_le_every_day_hook');
        }
        add_action('rsssl_le_every_week_hook', 'rsssl_le_cron_maybe_start_renewal');
        add_action('rsssl_le_every_day_hook', 'rsssl_le_check_renewal_status');
    } else {
        add_action('init', 'rsssl_le_cron_maybe_start_renewal');
        add_action('init', 'rsssl_le_check_renewal_status');
    }
}
function rsssl_le_cron_maybe_start_renewal()
{
    if (!rsssl_generated_by_rsssl()) {
        return;
    }
    if (RSSSL_LE()->letsencrypt_handler->cron_certificate_needs_renewal()) {
        update_option("rsssl_le_start_renewal", true);
    }
    if (RSSSL_LE()->letsencrypt_handler->certificate_install_required()) {
        update_option("rsssl_le_start_installation", true);
    }
}
function rsssl_le_check_renewal_status()
{
    if (!rsssl_generated_by_rsssl()) {
        return;
    }
    if (!RSSSL_LE()->letsencrypt_handler->ssl_generation_can_auto_renew()) {
        return;
    }
    $renewal_active = get_option("rsssl_le_start_renewal");
    $installation_active = get_option("rsssl_le_start_installation");
    if ($renewal_active) {
        RSSSL_LE()->letsencrypt_handler->create_bundle_or_renew();
    } else {
        if ($installation_active) {
            RSSSL_LE()->letsencrypt_handler->cron_renew_installation();
        }
    }
}
add_filter('cron_schedules', 'rsssl_le_filter_cron_schedules');
function rsssl_le_filter_cron_schedules($schedules)
{
    $schedules['rsssl_le_weekly'] = array('interval' => WEEK_IN_SECONDS, 'display' => __('Once every week'));
    $schedules['rsssl_le_daily'] = array('interval' => DAY_IN_SECONDS, 'display' => __('Once every day'));
    $schedules['rsssl_le_five_minutes'] = array('interval' => 5 * MINUTE_IN_SECONDS, 'display' => __('Once every 5 minutes'));
    return $schedules;
}
register_deactivation_hook(rsssl_file, 'rsssl_le_clear_scheduled_hooks');
function rsssl_le_clear_scheduled_hooks()
{
    wp_clear_scheduled_hook('rsssl_le_every_week_hook');
    wp_clear_scheduled_hook('rsssl_le_every_day_hook');
}