Deprecate VHOST in favor of a boolean, SUBDOMAIN_INSTALL. Core will keep VHOST defined for plugins' sake, but you should only define SUBDOMAIN_INSTALL. Throws a notice if VHOST is defined, and a warning if they somehow conflict. Sunrise can still handle them. fixes #11796.

git-svn-id: https://develop.svn.wordpress.org/trunk@14452 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin
2010-05-04 20:48:28 +00:00
parent 0a20229178
commit 42e9ce36fc
5 changed files with 62 additions and 10 deletions
+46
View File
@@ -91,4 +91,50 @@ function ms_file_constants( ) {
if ( !defined( 'WPMU_ACCEL_REDIRECT' ) )
define( 'WPMU_ACCEL_REDIRECT', false );
}
/**
* Defines Multisite subdomain constants and handles warnings and notices.
*
* VHOST is deprecated in favor of SUBDOMAIN_INSTALL, which is a bool.
*
* On first call, the constants are checked and defined. On second call,
* we will have translations loaded and can trigger warnings easily.
*
* @since 3.0.0
*/
function ms_subdomain_constants() {
static $error = null;
static $error_warn = false;
if ( false === $error )
return;
if ( $error ) {
$vhost_deprecated = __( 'The constant <code>VHOST</code> <strong>is deprecated</strong>. Use the boolean constant <code>SUBDOMAIN_INSTALL</code> in wp-config.php to enable a subdomain configuration. Use is_subdomain_install() to check whether a subdomain configuration is enabled.' );
if ( $error_warn ) {
trigger_error( __( '<strong>Conflicting values for the constants VHOST and SUBDOMAIN_INSTALL.</strong> The value of SUBDOMAIN_INSTALL will be assumed to be your subdomain configuration setting.' ) . ' ' . $vhost_deprecated, E_USER_WARNING );
} else {
_deprecated_argument( 'define()', '3.0', $vhost_deprecated );
}
return;
}
if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) {
if ( SUBDOMAIN_INSTALL == ( 'yes' == VHOST ) ) {
$error = true;
} else {
$error = $error_warn = true;
}
} elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) {
define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' );
} elseif ( defined( 'VHOST' ) ) {
$error = true;
define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST );
} else {
define( 'SUBDOMAIN_INSTALL', false );
define( 'VHOST', 'no' );
}
}
add_action( 'init', 'ms_subdomain_constants' );
?>