From 8496504f59095ee46bcf4c4074dd5b6be583bf3e Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Wed, 16 Jul 2014 22:35:14 +0000 Subject: [PATCH] Properly set `$subdomain_error` to `false` when applicable in `ms_subdomain_constants()`. This was previously untestable because it used static vars: use globals instead. Adds unit test. Fixes #28697. Built from https://develop.svn.wordpress.org/trunk@29200 git-svn-id: http://core.svn.wordpress.org/trunk@28984 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/ms-default-constants.php | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/wp-includes/ms-default-constants.php b/wp-includes/ms-default-constants.php index 8cbd2c35af..c8dd091c0a 100644 --- a/wp-includes/ms-default-constants.php +++ b/wp-includes/ms-default-constants.php @@ -114,17 +114,20 @@ function ms_file_constants() { * we will have translations loaded and can trigger warnings easily. * * @since 3.0.0 + * + * @global boolean $subdomain_error + * @global boolean $subdomain_error_warn */ function ms_subdomain_constants() { - static $error = null; - static $error_warn = false; + global $subdomain_error, $subdomain_error_warn; - if ( false === $error ) + if ( false === $subdomain_error ) { return; + } - if ( $error ) { + if ( $subdomain_error ) { $vhost_deprecated = __( 'The constant VHOST is deprecated. Use the boolean constant SUBDOMAIN_INSTALL in wp-config.php to enable a subdomain configuration. Use is_subdomain_install() to check whether a subdomain configuration is enabled.' ); - if ( $error_warn ) { + if ( $subdomain_error_warn ) { trigger_error( __( 'Conflicting values for the constants VHOST and SUBDOMAIN_INSTALL. 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 ); @@ -133,17 +136,18 @@ function ms_subdomain_constants() { } if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) { - if ( SUBDOMAIN_INSTALL == ( 'yes' == VHOST ) ) { - $error = true; - } else { - $error = $error_warn = true; + $subdomain_error = true; + if ( SUBDOMAIN_INSTALL !== ( 'yes' == VHOST ) ) { + $subdomain_error_warn = true; } } elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) { + $subdomain_error = false; define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' ); } elseif ( defined( 'VHOST' ) ) { - $error = true; + $subdomain_error = true; define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST ); } else { + $subdomain_error = false; define( 'SUBDOMAIN_INSTALL', false ); define( 'VHOST', 'no' ); }