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