HEX
Server: LiteSpeed
System: Linux cde2.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dtptviut (1121)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/dtptviut/public_html/wp-content/plugins/nitropack/classes/WordPress/Settings/AutoPurge.php
<?php

namespace NitroPack\WordPress\Settings;
use Nitropack\WordPress\NitroPack;

/**
 * Auto Purge NitroPack cache on post/page save
 */
class AutoPurge {
	/** @var string */
	public $option_name;
	public function __construct() {
		add_action( 'wp_ajax_nitropack_set_auto_cache_purge_ajax', [ $this, 'nitropack_set_auto_cache_purge_ajax' ] );
		$this->option_name = 'nitropack-autoCachePurge';
	}

	/**
	 * AJAX handler when toggling the setting in the Dashboard
	 * @return void
	 */
	public function nitropack_set_auto_cache_purge_ajax() {
		nitropack_verify_ajax_nonce( $_REQUEST );
		$option = (int) ! empty( $_POST["autoCachePurgeStatus"] );
		$updated = update_option( $this->option_name, $option );
		if ( $updated ) {
			NitroPack::getInstance()->getLogger()->notice( 'Auto cache purge is ' . ( $option === 1 ? 'enabled' : 'disabled' ) );
			nitropack_json_and_exit( [ "type" => "success", "message" => nitropack_admin_toast_msgs( 'success' ), 'autoCachePurgeStatus' => $option ] );
		} else {
			NitroPack::getInstance()->getLogger()->error( 'Auto cache purge cannot be ' . ( $option === 1 ? 'enabled' : 'disabled' ) );
			nitropack_json_and_exit( [
				"type" => "error",
				"message" => nitropack_admin_toast_msgs( 'error' )
			] );
		}
	}
	/**
	 * Renders the Auto Purge option in the Dashboard
	 * @return void
	 */
	public function render() {
		$autoCachePurge = get_option( $this->option_name, 1 );
		?>
		<div class="nitro-option" id="purge-cache-widget">
			<div class="nitro-option-main">
				<div class="text-box">
					<h6><?php esc_html_e( 'Purge cache', 'nitropack' ); ?></h6>
					<p><?php esc_html_e( 'Purge affected cache when content is updated or published', 'nitropack' ); ?>
					</p>
				</div>
				<?php $components = new Components();
				$components->render_toggle( 'auto-purge-status', $autoCachePurge ); ?>
			</div>
		</div>
		<?php
	}
}