mirror of
https://github.com/WenPai-org/wp-domain-mapping.git
synced 2025-08-03 05:33:23 +08:00
542 lines
25 KiB
PHP
542 lines
25 KiB
PHP
<?php
|
|
/**
|
|
* Settings administration page
|
|
*
|
|
* @package WP Domain Mapping
|
|
*/
|
|
|
|
// Prevent direct access
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
// Get current options
|
|
$dm_ipaddress = get_site_option( 'dm_ipaddress', '' );
|
|
$dm_cname = get_site_option( 'dm_cname', '' );
|
|
$dm_remote_login = get_site_option( 'dm_remote_login', 1 );
|
|
$dm_301_redirect = get_site_option( 'dm_301_redirect', 0 );
|
|
$dm_redirect_admin = get_site_option( 'dm_redirect_admin', 1 );
|
|
$dm_user_settings = get_site_option( 'dm_user_settings', 1 );
|
|
$dm_no_primary_domain = get_site_option( 'dm_no_primary_domain', 0 );
|
|
|
|
// Get server IP address if not set
|
|
if ( empty( $dm_ipaddress ) ) {
|
|
$server_ip = isset( $_SERVER['SERVER_ADDR'] ) ? $_SERVER['SERVER_ADDR'] : '';
|
|
if ( empty( $server_ip ) && function_exists( 'gethostbyname' ) ) {
|
|
$server_ip = gethostbyname( $_SERVER['SERVER_NAME'] );
|
|
}
|
|
if ( $server_ip && filter_var( $server_ip, FILTER_VALIDATE_IP ) ) {
|
|
$dm_ipaddress = $server_ip;
|
|
}
|
|
}
|
|
|
|
// Display settings errors
|
|
settings_errors( 'dm_settings' );
|
|
?>
|
|
<div class="wrap">
|
|
<h1><?php echo esc_html( get_admin_page_title() ); ?>
|
|
<span style="font-size: 13px; padding-left: 10px;">
|
|
<?php printf( esc_html__( 'Version: %s', 'wp-domain-mapping' ), esc_html( WP_DOMAIN_MAPPING_VERSION ) ); ?>
|
|
</span>
|
|
<a href="https://wpmultisite.com/document/wp-domain-mapping" target="_blank" class="button button-secondary" style="margin-left: 10px;">
|
|
<?php esc_html_e( 'Document', 'wp-domain-mapping' ); ?>
|
|
</a>
|
|
<a href="https://wpmultisite.com/forums/" target="_blank" class="button button-secondary">
|
|
<?php esc_html_e( 'Support', 'wp-domain-mapping' ); ?>
|
|
</a>
|
|
</h1>
|
|
|
|
<div class="card domain-mapping-card">
|
|
<form method="POST">
|
|
<input type="hidden" name="action" value="update" />
|
|
<?php wp_nonce_field( 'domain_mapping' ); ?>
|
|
|
|
<h2><?php esc_html_e( 'Server Configuration', 'wp-domain-mapping' ); ?></h2>
|
|
<p><?php esc_html_e( 'Configure the IP address or CNAME for domain mapping.', 'wp-domain-mapping' ); ?></p>
|
|
|
|
<table class="form-table" role="presentation">
|
|
<tr>
|
|
<th scope="row"><label for="ipaddress"><?php esc_html_e( 'Server IP Address:', 'wp-domain-mapping' ); ?></label></th>
|
|
<td>
|
|
<input type="text" id="ipaddress" name="ipaddress" value="<?php echo esc_attr( $dm_ipaddress ); ?>" class="regular-text" />
|
|
<p class="description">
|
|
<?php esc_html_e( 'Enter the IP address(es) users should point their DNS A records to. Use commas to separate multiple IPs.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
<?php if ( ! empty( $server_ip ) && $server_ip != $dm_ipaddress ) : ?>
|
|
<p class="description">
|
|
<?php printf(
|
|
/* translators: %s: Server IP address */
|
|
esc_html__( 'Detected server IP: %s', 'wp-domain-mapping' ),
|
|
'<code>' . esc_html( $server_ip ) . '</code>'
|
|
); ?>
|
|
</p>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"><label for="cname"><?php esc_html_e( 'Server CNAME Domain:', 'wp-domain-mapping' ); ?></label></th>
|
|
<td>
|
|
<input type="text" id="cname" name="cname" value="<?php echo esc_attr( $dm_cname ); ?>" class="regular-text" placeholder="server.example.com" />
|
|
<p class="description">
|
|
<?php
|
|
printf(
|
|
/* translators: %s: IDN warning message */
|
|
esc_html__( 'Use a CNAME instead of an IP (overrides IP settings). %s', 'wp-domain-mapping' ),
|
|
dm_idn_warning()
|
|
);
|
|
?>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><?php esc_html_e( 'Domain Options', 'wp-domain-mapping' ); ?></h3>
|
|
<table class="form-table" role="presentation">
|
|
<tr>
|
|
<th scope="row"></th>
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text"><?php esc_html_e( 'Domain Options', 'wp-domain-mapping' ); ?></legend>
|
|
<label for="dm_remote_login">
|
|
<input type="checkbox" name="dm_remote_login" id="dm_remote_login" value="1" <?php checked( $dm_remote_login, 1 ); ?> />
|
|
<?php esc_html_e( 'Enable Remote Login', 'wp-domain-mapping' ); ?>
|
|
</label>
|
|
<p class="description">
|
|
<?php esc_html_e( 'Allows users to log in from mapped domains and be redirected to the original domain for authentication.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"></th>
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text"><?php esc_html_e( 'Permanent Redirect', 'wp-domain-mapping' ); ?></legend>
|
|
<label for="permanent_redirect">
|
|
<input type="checkbox" name="permanent_redirect" id="permanent_redirect" value="1" <?php checked( $dm_301_redirect, 1 ); ?> />
|
|
<?php esc_html_e( 'Use Permanent Redirect (301)', 'wp-domain-mapping' ); ?>
|
|
</label>
|
|
<p class="description">
|
|
<?php esc_html_e( 'Use 301 redirects instead of 302 redirects. This is better for SEO but may cause caching issues.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"></th>
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text"><?php esc_html_e( 'User Settings', 'wp-domain-mapping' ); ?></legend>
|
|
<label for="dm_user_settings">
|
|
<input type="checkbox" name="dm_user_settings" id="dm_user_settings" value="1" <?php checked( $dm_user_settings, 1 ); ?> />
|
|
<?php esc_html_e( 'Enable User Domain Mapping Page', 'wp-domain-mapping' ); ?>
|
|
</label>
|
|
<p class="description">
|
|
<?php esc_html_e( 'Allow site administrators to manage their domain mappings from the Tools menu.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"></th>
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text"><?php esc_html_e( 'Redirect Admin', 'wp-domain-mapping' ); ?></legend>
|
|
<label for="always_redirect_admin">
|
|
<input type="checkbox" name="always_redirect_admin" id="always_redirect_admin" value="1" <?php checked( $dm_redirect_admin, 1 ); ?> />
|
|
<?php esc_html_e( 'Redirect Admin Pages to Original Domain', 'wp-domain-mapping' ); ?>
|
|
</label>
|
|
<p class="description">
|
|
<?php esc_html_e( 'Force admin pages to use the original WordPress domain instead of the mapped domain.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row"></th>
|
|
<td>
|
|
<fieldset>
|
|
<legend class="screen-reader-text"><?php esc_html_e( 'Disable Primary Domain', 'wp-domain-mapping' ); ?></legend>
|
|
<label for="dm_no_primary_domain">
|
|
<input type="checkbox" name="dm_no_primary_domain" id="dm_no_primary_domain" value="1" <?php checked( $dm_no_primary_domain, 1 ); ?> />
|
|
<?php esc_html_e( 'Disable Primary Domain Check', 'wp-domain-mapping' ); ?>
|
|
</label>
|
|
<p class="description">
|
|
<?php esc_html_e( 'Do not redirect to the primary domain, but allow access through any mapped domain.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p class="submit">
|
|
<input type="submit" class="button button-primary" value="<?php esc_attr_e( 'Save Configuration', 'wp-domain-mapping' ); ?>" />
|
|
<a href="<?php echo esc_url( admin_url( 'network/sites.php?page=domains' ) ); ?>" class="button button-secondary">
|
|
<?php esc_html_e( 'Manage Domains', 'wp-domain-mapping' ); ?>
|
|
</a>
|
|
</p>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="card domain-mapping-card">
|
|
<h2><?php esc_html_e( 'DNS Setup Instructions', 'wp-domain-mapping' ); ?></h2>
|
|
|
|
<div class="dns-instructions">
|
|
<?php if ( ! empty( $dm_cname ) ) : ?>
|
|
<h3><?php esc_html_e( 'CNAME Method (Recommended)', 'wp-domain-mapping' ); ?></h3>
|
|
<p>
|
|
<?php
|
|
printf(
|
|
/* translators: %s: CNAME value */
|
|
esc_html__( 'Tell your users to add a DNS "CNAME" record for their domain pointing to: %s', 'wp-domain-mapping' ),
|
|
'<code>' . esc_html( $dm_cname ) . '</code>'
|
|
);
|
|
?>
|
|
</p>
|
|
<div class="dns-example">
|
|
<h4><?php esc_html_e( 'Example DNS Record', 'wp-domain-mapping' ); ?></h4>
|
|
<table class="widefat striped">
|
|
<thead>
|
|
<tr>
|
|
<th><?php esc_html_e( 'Type', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Name', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Value', 'wp-domain-mapping' ); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>CNAME</code></td>
|
|
<td><code>@</code> <?php esc_html_e( '(or empty)', 'wp-domain-mapping' ); ?></td>
|
|
<td><code><?php echo esc_html( $dm_cname ); ?></code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( ! empty( $dm_ipaddress ) ) : ?>
|
|
<h3><?php esc_html_e( 'A Record Method', 'wp-domain-mapping' ); ?></h3>
|
|
<p>
|
|
<?php
|
|
printf(
|
|
/* translators: %s: IP address(es) */
|
|
esc_html__( 'Tell your users to add a DNS "A" record for their domain pointing to: %s', 'wp-domain-mapping' ),
|
|
'<code>' . esc_html( $dm_ipaddress ) . '</code>'
|
|
);
|
|
?>
|
|
</p>
|
|
<div class="dns-example">
|
|
<h4><?php esc_html_e( 'Example DNS Record', 'wp-domain-mapping' ); ?></h4>
|
|
<table class="widefat striped">
|
|
<thead>
|
|
<tr>
|
|
<th><?php esc_html_e( 'Type', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Name', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Value', 'wp-domain-mapping' ); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$ips = array_map( 'trim', explode( ',', $dm_ipaddress ) );
|
|
foreach ( $ips as $index => $ip ) :
|
|
?>
|
|
<tr>
|
|
<td><code>A</code></td>
|
|
<td><code>@</code> <?php esc_html_e( '(or empty)', 'wp-domain-mapping' ); ?></td>
|
|
<td><code><?php echo esc_html( $ip ); ?></code></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( empty( $dm_ipaddress ) && empty( $dm_cname ) ) : ?>
|
|
<div class="notice notice-warning">
|
|
<p>
|
|
<?php esc_html_e( 'Please configure either a Server IP Address or CNAME to provide DNS setup instructions.', 'wp-domain-mapping' ); ?>
|
|
</p>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<h3><?php esc_html_e( 'Additional DNS Tips', 'wp-domain-mapping' ); ?></h3>
|
|
<ul class="dns-tips">
|
|
<li>
|
|
<?php esc_html_e( 'Most DNS changes take 24-48 hours to fully propagate worldwide.', 'wp-domain-mapping' ); ?>
|
|
</li>
|
|
<li>
|
|
<?php esc_html_e( 'For "www" subdomain, create a separate CNAME record with "www" as the name pointing to the same value.', 'wp-domain-mapping' ); ?>
|
|
</li>
|
|
<li>
|
|
<?php esc_html_e( 'If you\'re using Cloudflare or similar services, you may need to adjust proxy settings.', 'wp-domain-mapping' ); ?>
|
|
</li>
|
|
<li>
|
|
<?php esc_html_e( 'For SSL to work properly, make sure your web server is configured with the appropriate SSL certificates for mapped domains.', 'wp-domain-mapping' ); ?>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card domain-mapping-card">
|
|
<h2><?php esc_html_e( 'Installation Check', 'wp-domain-mapping' ); ?></h2>
|
|
<table class="widefat striped">
|
|
<tbody>
|
|
<tr>
|
|
<th><?php esc_html_e( 'Status', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Check', 'wp-domain-mapping' ); ?></th>
|
|
<th><?php esc_html_e( 'Value', 'wp-domain-mapping' ); ?></th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php if ( file_exists( WP_CONTENT_DIR . '/sunrise.php' ) ) : ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php else : ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e( 'sunrise.php file', 'wp-domain-mapping' ); ?></td>
|
|
<td>
|
|
<?php if ( file_exists( WP_CONTENT_DIR . '/sunrise.php' ) ) : ?>
|
|
<?php esc_html_e( 'Found', 'wp-domain-mapping' ); ?>
|
|
<?php else : ?>
|
|
<?php
|
|
printf(
|
|
/* translators: %s: WordPress content directory */
|
|
esc_html__( 'Not found - copy sunrise.php to %s', 'wp-domain-mapping' ),
|
|
'<code>' . esc_html( WP_CONTENT_DIR ) . '</code>'
|
|
);
|
|
?>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php if ( defined( 'SUNRISE' ) ) : ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php else : ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e( 'SUNRISE constant', 'wp-domain-mapping' ); ?></td>
|
|
<td>
|
|
<?php if ( defined( 'SUNRISE' ) ) : ?>
|
|
<?php
|
|
printf(
|
|
/* translators: %s: SUNRISE constant value */
|
|
esc_html__( 'Defined as: %s', 'wp-domain-mapping' ),
|
|
'<code>' . esc_html( SUNRISE ) . '</code>'
|
|
);
|
|
?>
|
|
<?php else : ?>
|
|
<?php esc_html_e( 'Not defined - add to wp-config.php: ', 'wp-domain-mapping' ); ?>
|
|
<code>define( 'SUNRISE', 'on' );</code>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php if ( defined( 'SUNRISE_LOADED' ) ) : ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php else : ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e( 'SUNRISE_LOADED', 'wp-domain-mapping' ); ?></td>
|
|
<td>
|
|
<?php if ( defined( 'SUNRISE_LOADED' ) ) : ?>
|
|
<?php esc_html_e( 'Loaded successfully', 'wp-domain-mapping' ); ?>
|
|
<?php else : ?>
|
|
<?php
|
|
if ( defined( 'SUNRISE' ) ) {
|
|
esc_html_e( 'Not loaded - make sure SUNRISE is defined before the require_once() in wp-config.php', 'wp-domain-mapping' );
|
|
} else {
|
|
esc_html_e( 'Not loaded - SUNRISE constant not defined', 'wp-domain-mapping' );
|
|
}
|
|
?>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
// Use the improved COOKIE_DOMAIN check function from pages.php
|
|
$cookie_domain_status = dm_check_cookie_domain_status();
|
|
|
|
if ($cookie_domain_status['is_optimal']): ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php elseif ($cookie_domain_status['has_warning']): ?>
|
|
<span class="dashicons dashicons-warning" style="color: #f56e28;"></span>
|
|
<?php else: ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e('COOKIE_DOMAIN', 'wp-domain-mapping'); ?></td>
|
|
<td>
|
|
<?php if ($cookie_domain_status['is_optimal']): ?>
|
|
<span style="color: #46b450;">
|
|
<?php echo esc_html($cookie_domain_status['message']); ?>
|
|
</span>
|
|
<?php elseif ($cookie_domain_status['has_warning']): ?>
|
|
<span style="color: #f56e28;">
|
|
<?php echo esc_html($cookie_domain_status['message']); ?>
|
|
</span>
|
|
<br><small style="color: #666;">
|
|
<?php esc_html_e('This may cause login issues on mapped domains. Consider removing the COOKIE_DOMAIN definition from wp-config.php.', 'wp-domain-mapping'); ?>
|
|
</small>
|
|
<?php else: ?>
|
|
<span style="color: #dc3232;">
|
|
<?php echo esc_html($cookie_domain_status['message']); ?>
|
|
</span>
|
|
<br><small style="color: #666;">
|
|
<?php esc_html_e('Remove the define(\'COOKIE_DOMAIN\', ...) line from wp-config.php to enable dynamic cookie domain handling.', 'wp-domain-mapping'); ?>
|
|
</small>
|
|
<?php endif; ?>
|
|
|
|
<?php if (defined('WP_DEBUG') && WP_DEBUG && !empty($cookie_domain_status['debug_info'])): ?>
|
|
<br><small style="color: #999; font-style: italic;">
|
|
<?php echo esc_html($cookie_domain_status['debug_info']); ?>
|
|
</small>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
global $wpdb;
|
|
$tables_exist = true;
|
|
foreach ( array(
|
|
$wpdb->base_prefix . WP_DOMAIN_MAPPING_TABLE_DOMAINS,
|
|
$wpdb->base_prefix . WP_DOMAIN_MAPPING_TABLE_LOGINS,
|
|
$wpdb->base_prefix . WP_DOMAIN_MAPPING_TABLE_LOGS,
|
|
) as $table ) {
|
|
if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table ) {
|
|
$tables_exist = false;
|
|
break;
|
|
}
|
|
}
|
|
?>
|
|
<?php if ( $tables_exist ) : ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php else : ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e( 'Database tables', 'wp-domain-mapping' ); ?></td>
|
|
<td>
|
|
<?php if ( $tables_exist ) : ?>
|
|
<?php esc_html_e( 'All tables exist', 'wp-domain-mapping' ); ?>
|
|
<?php else : ?>
|
|
<?php esc_html_e( 'Some tables are missing - deactivate and reactivate the plugin', 'wp-domain-mapping' ); ?>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php if ( is_multisite() ) : ?>
|
|
<span class="dashicons dashicons-yes-alt" style="color: #46b450;"></span>
|
|
<?php else : ?>
|
|
<span class="dashicons dashicons-no-alt" style="color: #dc3232;"></span>
|
|
<?php endif; ?>
|
|
</td>
|
|
<td><?php esc_html_e( 'Multisite', 'wp-domain-mapping' ); ?></td>
|
|
<td>
|
|
<?php if ( is_multisite() ) : ?>
|
|
<?php esc_html_e( 'Enabled', 'wp-domain-mapping' ); ?>
|
|
<?php else : ?>
|
|
<?php esc_html_e( 'Not enabled - this plugin requires WordPress Multisite', 'wp-domain-mapping' ); ?>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
/* Main cards */
|
|
.domain-mapping-card {
|
|
background: #fff;
|
|
border: 1px solid #ccd0d4;
|
|
border-radius: 4px;
|
|
max-width: unset;
|
|
margin-top: 20px;
|
|
padding: 20px;
|
|
box-shadow: 0 1px 1px rgba(0,0,0,.04);
|
|
}
|
|
|
|
/* Form elements */
|
|
.form-table th {
|
|
width: 200px;
|
|
padding: 15px 10px 15px 0;
|
|
}
|
|
|
|
.form-table td {
|
|
padding: 15px 0;
|
|
}
|
|
|
|
/* Description text */
|
|
.description {
|
|
color: #666;
|
|
font-size: 13px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
/* DNS instructions */
|
|
.dns-instructions {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.dns-example {
|
|
background: #f9f9f9;
|
|
border: 1px solid #e5e5e5;
|
|
border-radius: 3px;
|
|
padding: 15px;
|
|
margin: 15px 0;
|
|
}
|
|
|
|
.dns-example h4 {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.dns-tips {
|
|
list-style: disc;
|
|
margin-left: 20px;
|
|
}
|
|
|
|
.dns-tips li {
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
/* Status indicators */
|
|
.dashicons-yes-alt,
|
|
.dashicons-no-alt {
|
|
font-size: 24px;
|
|
width: 24px;
|
|
height: 24px;
|
|
}
|
|
|
|
/* Notices */
|
|
.notice {
|
|
padding: 8px 12px;
|
|
border-radius: 3px;
|
|
margin: 5px 0 15px;
|
|
}
|
|
|
|
.notice p {
|
|
margin: 0.5em 0;
|
|
padding: 2px;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media screen and (max-width: 782px) {
|
|
.form-table th {
|
|
width: 100%;
|
|
display: block;
|
|
}
|
|
|
|
.form-table td {
|
|
display: block;
|
|
padding: 0 0 15px;
|
|
}
|
|
}
|
|
</style>
|