namespace Hostinger\Admin\Options;
if ( ! defined( 'ABSPATH' ) ) {
* Class for handling plugin options
private bool $maintenance_mode = false;
private string $bypass_code = '';
private bool $disable_xml_rpc = false;
private bool $force_https = false;
private bool $force_www = false;
private bool $disable_authentication_password = false;
private bool $enable_llms_txt = false;
private bool $optin_mcp = false;
* @param array $settings plugin settings array.
public function __construct( array $settings = array() ) {
$this->maintenance_mode = ! empty( $settings['maintenance_mode'] );
$this->bypass_code = ! empty( $settings['bypass_code'] ) ? $settings['bypass_code'] : '';
$this->disable_xml_rpc = ! empty( $settings['disable_xml_rpc'] );
$this->force_https = ! empty( $settings['force_https'] );
$this->force_www = ! empty( $settings['force_www'] );
$this->disable_authentication_password = ! empty( $settings['disable_authentication_password'] );
$this->enable_llms_txt = ! empty( $settings['enable_llms_txt'] );
$this->optin_mcp = ! empty( $settings['optin_mcp'] );
public function get_maintenance_mode(): bool {
return $this->maintenance_mode;
* @param bool $maintenance_mode
public function set_maintenance_mode( bool $maintenance_mode ): void {
$this->maintenance_mode = $maintenance_mode;
public function get_bypass_code(): string {
return $this->bypass_code;
* @param string $bypass_code
public function set_bypass_code( string $bypass_code ): void {
$this->bypass_code = $bypass_code;
public function get_disable_xml_rpc(): bool {
return $this->disable_xml_rpc;
* @param bool $disable_xml_rpc
public function set_disable_xml_rpc( bool $disable_xml_rpc ): void {
$this->disable_xml_rpc = $disable_xml_rpc;
public function get_force_https(): bool {
return $this->force_https;
* @param bool $force_https
public function set_force_https( bool $force_https ): void {
$this->force_https = $force_https;
public function get_force_www(): bool {
public function set_force_www( bool $force_www ): void {
$this->force_www = $force_www;
public function get_disable_authentication_password(): bool {
return $this->disable_authentication_password;
* @param bool $authentication_password
public function set_disable_authentication_password( bool $authentication_password ): void {
$this->disable_authentication_password = $authentication_password;
public function get_enable_llms_txt(): bool {
return $this->enable_llms_txt;
public function get_optin_mcp(): bool {
public function set_optin_mcp( bool $optin_mcp ): void {
$this->optin_mcp = $optin_mcp;
public function to_array(): array {
'maintenance_mode' => $this->get_maintenance_mode(),
'bypass_code' => $this->get_bypass_code(),
'disable_xml_rpc' => $this->get_disable_xml_rpc(),
'force_https' => $this->get_force_https(),
'force_www' => $this->get_force_www(),
'disable_authentication_password' => $this->get_disable_authentication_password(),
'enable_llms_txt' => $this->get_enable_llms_txt(),
'optin_mcp' => $this->get_optin_mcp(),