HEX
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: u90323915 (5560665)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //homepages/oneclick/WordPress/6.8.3/601/custom/wordpress/wp-content/mu-plugins/1and1-subdomain.php
<?php
/**
 * Plugin Name: 1&1 Product Subdomain
 * Plugin URI: http://www.1and1.com/
 * Description: Handles product subdomain installs in accordance with search engines best practices.
 * Version: 1.1.0
 * Author: 1&1
 * Author URI: http://www.1and1.com/
 */

if ( ! defined( 'ABSPATH' ) ) {
	die();
}

class Product_Subdomains {

	private $system_domains = array(
		'.apps-1and1.net',
		'.apps-1and1.com',
		'.online.de',
		'.live-website.com'
	);

	/**
	 * Constructor
	 */
	public function __construct() {
		if ( $this->is_system_domain() ) {
			add_action( 'admin_init', array( $this, 'set_blog_to_private' ), 1000, 0 );
			if ( $this->is_options_reading_page() ) {
				add_action( 'admin_footer', array( $this, 'disable_checkbox' ), 1000, 0 );
			}
		}
	}

	/**
	 * Checks whether the home_url contains a system domain.
	 *
	 * @return bool
	 */
	private function is_system_domain() {
		$host = parse_url( get_home_url(), PHP_URL_HOST );

		foreach ( $this->system_domains as $sys_domain ) {
			if ( stripos( $host, $sys_domain ) !== false ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * Disables the checkbox on options-reading.php
	 */
	public function disable_checkbox() {
		echo '<script>document.querySelector("#blog_public").disabled = true</script>';
	}

	/**
	 * Sets the blog to private (prevent crawling)
	 */
	public function set_blog_to_private() {
		if ( current_user_can( 'manage_options' ) ) {
			update_option( 'blog_public', 0 );
		}
	}


	private function is_options_reading_page() {
		return stripos( admin_url( 'options-reading.php' ), $_SERVER['SCRIPT_NAME'] );
	}

}

new Product_Subdomains;