HEX
Server: Apache
System: Linux 244.240.109.208.host.secureserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: icsla (1002)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/icsla/public_html/wp-content/plugins/bznlwio/public/class-simple-maintenance-mode-public.php
<?php
/**
 * The public-facing functionality of the plugin.
 *
 * @package    Simple_Maintenance_Mode
 * @subpackage Simple_Maintenance_Mode/public
 */

class Simple_Maintenance_Mode_Public {

	private $plugin_name;
	private $version;

	public function __construct( $plugin_name, $version ) {
		$this->plugin_name = $plugin_name;
		$this->version     = $version;
	}

	public function enqueue_styles() {
		if ( ! get_option( 'smm_enabled', 0 ) ) {
			return;
		}

		wp_enqueue_style(
			$this->plugin_name,
			SMM_PLUGIN_URL . 'public/css/simple-maintenance-mode-public.css',
			array(),
			$this->version,
			'all'
		);
	}

	public function maybe_display_maintenance() {
		if ( ! get_option( 'smm_enabled', 0 ) ) {
			return;
		}

		if ( current_user_can( 'manage_options' ) ) {
			return;
		}

		if ( $this->has_valid_bypass() ) {
			return;
		}

		if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
			return;
		}

		if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
			return;
		}

		if ( strpos( $_SERVER['REQUEST_URI'], '/wp-login.php' ) !== false ) {
			return;
		}

		if ( strpos( $_SERVER['REQUEST_URI'], '/wp-admin' ) !== false ) {
			return;
		}

		status_header( 503 );
		header( 'Retry-After: 3600' );
		header( 'Content-Type: text/html; charset=utf-8' );

		include SMM_PLUGIN_DIR . 'public/partials/simple-maintenance-mode-public-display.php';
		exit;
	}

	private function has_valid_bypass() {
		$bypass_key = get_option( 'smm_bypass_key', '' );

		if ( empty( $bypass_key ) ) {
			return false;
		}

		if ( isset( $_GET['smm_bypass'] ) && $_GET['smm_bypass'] === $bypass_key ) {
			setcookie( 'smm_bypass', $bypass_key, time() + DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
			return true;
		}

		if ( isset( $_COOKIE['smm_bypass'] ) && $_COOKIE['smm_bypass'] === $bypass_key ) {
			return true;
		}

		return false;
	}
}