/
var
/
www
/
barefootlaw.org
/
wp-content
/
plugins
/
really-simple-ssl
/
lets-encrypt
/
Upload File
HOME
<?php defined( 'ABSPATH' ) or die(); add_action( 'plugins_loaded', 'rsssl_le_schedule_cron' ); function rsssl_le_schedule_cron() { //only run if SSL is enabled. if ( !rsssl_get_option('ssl_enabled') ) { return; } //only if generated by RSSSL. 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' ); } } /** * Check if the certificate is generated by RSSSL. If so, renew if necessary */ 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, false); } if ( RSSSL_LE()->letsencrypt_handler->certificate_install_required() ) { update_option("rsssl_le_start_installation", true, false); } } function rsssl_le_check_renewal_status(){ if ( !rsssl_generated_by_rsssl() ) { return; } //when DNS validated, without api, we cannot autorenew 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' ); }