HEX
Server: Apache
System: Linux websend04.greenconsulting.it 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: web20 (5023)
PHP: 7.2.34-38+ubuntu18.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/clients/client0/web20/web/wp-content/plugins/really-simple-ssl/lets-encrypt/cron.php
<?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()->rsssl_front_end->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);
	}

	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;
	}

	//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' );
}