2019-03-12 09:27:46 +00:00
< ? php
/**
* Defines constants and global variables that can be overridden , generally in wp - config . php .
*
* @ package WordPress
* @ subpackage Multisite
* @ since 3.0 . 0
*/
/**
* Defines Multisite upload constants .
*
* Exists for backward compatibility with legacy file - serving through
* wp - includes / ms - files . php ( wp - content / blogs . php in MU ) .
*
* @ since 3.0 . 0
*/
function ms_upload_constants () {
// This filter is attached in ms-default-filters.php but that file is not included during SHORTINIT.
add_filter ( 'default_site_option_ms_files_rewriting' , '__return_true' );
2019-04-16 19:56:22 +00:00
if ( ! get_site_option ( 'ms_files_rewriting' ) ) {
2019-03-12 09:27:46 +00:00
return ;
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
// Base uploads dir relative to ABSPATH
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'UPLOADBLOGSDIR' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'UPLOADBLOGSDIR' , 'wp-content/blogs.dir' );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
// Note, the main site in a post-MU network uses wp-content/uploads.
// This is handled in wp_upload_dir() by ignoring UPLOADS for this case.
if ( ! defined ( 'UPLOADS' ) ) {
$site_id = get_current_blog_id ();
define ( 'UPLOADS' , UPLOADBLOGSDIR . '/' . $site_id . '/files/' );
// Uploads dir relative to ABSPATH
2019-04-16 19:56:22 +00:00
if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR && ! defined ( 'BLOGUPLOADDIR' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'BLOGUPLOADDIR' , WP_CONTENT_DIR . '/blogs.dir/' . $site_id . '/files/' );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
}
}
/**
* Defines Multisite cookie constants .
*
* @ since 3.0 . 0
*/
2019-04-16 19:56:22 +00:00
function ms_cookie_constants () {
2019-03-12 09:27:46 +00:00
$current_network = get_network ();
/**
* @ since 1.2 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'COOKIEPATH' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'COOKIEPATH' , $current_network -> path );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
/**
* @ since 1.5 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'SITECOOKIEPATH' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'SITECOOKIEPATH' , $current_network -> path );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
/**
* @ since 2.6 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'ADMIN_COOKIE_PATH' ) ) {
2019-03-12 09:27:46 +00:00
if ( ! is_subdomain_install () || trim ( parse_url ( get_option ( 'siteurl' ), PHP_URL_PATH ), '/' ) ) {
define ( 'ADMIN_COOKIE_PATH' , SITECOOKIEPATH );
} else {
define ( 'ADMIN_COOKIE_PATH' , SITECOOKIEPATH . 'wp-admin' );
}
}
/**
* @ since 2.0 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'COOKIE_DOMAIN' ) && is_subdomain_install () ) {
if ( ! empty ( $current_network -> cookie_domain ) ) {
define ( 'COOKIE_DOMAIN' , '.' . $current_network -> cookie_domain );
} else {
define ( 'COOKIE_DOMAIN' , '.' . $current_network -> domain );
}
2019-03-12 09:27:46 +00:00
}
}
/**
* Defines Multisite file constants .
*
* Exists for backward compatibility with legacy file - serving through
* wp - includes / ms - files . php ( wp - content / blogs . php in MU ) .
*
* @ since 3.0 . 0
*/
function ms_file_constants () {
/**
* Optional support for X - Sendfile header
2019-04-16 19:56:22 +00:00
*
2019-03-12 09:27:46 +00:00
* @ since 3.0 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'WPMU_SENDFILE' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'WPMU_SENDFILE' , false );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
/**
* Optional support for X - Accel - Redirect header
2019-04-16 19:56:22 +00:00
*
2019-03-12 09:27:46 +00:00
* @ since 3.0 . 0
*/
2019-04-16 19:56:22 +00:00
if ( ! defined ( 'WPMU_ACCEL_REDIRECT' ) ) {
2019-03-12 09:27:46 +00:00
define ( 'WPMU_ACCEL_REDIRECT' , false );
2019-04-16 19:56:22 +00:00
}
2019-03-12 09:27:46 +00:00
}
/**
* 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
*
* @ staticvar bool $subdomain_error
* @ staticvar bool $subdomain_error_warn
*/
function ms_subdomain_constants () {
2019-04-16 19:56:22 +00:00
static $subdomain_error = null ;
2019-03-12 09:27:46 +00:00
static $subdomain_error_warn = null ;
if ( false === $subdomain_error ) {
return ;
}
if ( $subdomain_error ) {
$vhost_deprecated = sprintf (
/* translators: 1: VHOST, 2: SUBDOMAIN_INSTALL, 3: wp-config.php, 4: is_subdomain_install() */
__ ( 'The constant %1$s <strong>is deprecated</strong>. Use the boolean constant %2$s in %3$s to enable a subdomain configuration. Use %4$s to check whether a subdomain configuration is enabled.' ),
'<code>VHOST</code>' ,
'<code>SUBDOMAIN_INSTALL</code>' ,
'<code>wp-config.php</code>' ,
'<code>is_subdomain_install()</code>'
);
if ( $subdomain_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 {
2019-04-16 19:56:22 +00:00
_deprecated_argument ( 'define()' , '3.0.0' , $vhost_deprecated );
2019-03-12 09:27:46 +00:00
}
return ;
}
if ( defined ( 'SUBDOMAIN_INSTALL' ) && defined ( 'VHOST' ) ) {
$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' ) ) {
$subdomain_error = true ;
define ( 'SUBDOMAIN_INSTALL' , 'yes' == VHOST );
} else {
$subdomain_error = false ;
define ( 'SUBDOMAIN_INSTALL' , false );
define ( 'VHOST' , 'no' );
}
}