2010-01-28 12:16:58 -05:00
< ? php
/**
* Defines constants and global variables that can be overridden , generally in wp - config . php .
*
* @ package WordPress
* @ subpackage Multisite
2010-04-04 09:29:35 -04:00
* @ since 3.0 . 0
2010-01-28 12:16:58 -05:00
*/
/**
2010-02-12 03:22:34 -05:00
* Defines Multisite upload constants .
2010-01-28 12:16:58 -05:00
*
2012-09-11 18:22:20 -04:00
* Exists for backward compatibility with legacy file - serving through
* wp - includes / ms - files . php ( wp - content / blogs . php in MU ) .
*
2010-01-28 12:16:58 -05:00
* @ since 3.0 . 0
2015-05-26 17:51:31 -04:00
*
* @ global wpdb $wpdb
2010-01-28 12:16:58 -05:00
*/
2012-09-11 18:22:20 -04:00
function ms_upload_constants () {
2010-02-12 03:22:34 -05:00
global $wpdb ;
2012-09-17 18:05:06 -04:00
// 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' );
2012-09-11 18:22:20 -04:00
if ( ! get_site_option ( 'ms_files_rewriting' ) )
return ;
2010-03-09 13:19:28 -05:00
// Base uploads dir relative to ABSPATH
2010-02-12 03:22:34 -05:00
if ( ! defined ( 'UPLOADBLOGSDIR' ) )
define ( 'UPLOADBLOGSDIR' , 'wp-content/blogs.dir' );
2012-10-12 18:05:02 -04: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.
2012-09-18 14:07:18 -04:00
if ( ! defined ( 'UPLOADS' ) ) {
2012-10-12 18:05:02 -04:00
define ( 'UPLOADS' , UPLOADBLOGSDIR . " / { $wpdb -> blogid } /files/ " );
2012-09-18 14:07:18 -04:00
2010-03-09 13:19:28 -05:00
// Uploads dir relative to ABSPATH
2012-09-11 18:22:20 -04:00
if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR && ! defined ( 'BLOGUPLOADDIR' ) )
2010-03-09 13:19:28 -05:00
define ( 'BLOGUPLOADDIR' , WP_CONTENT_DIR . " /blogs.dir/ { $wpdb -> blogid } /files/ " );
}
2010-02-12 03:22:34 -05:00
}
/**
* Defines Multisite cookie constants .
*
* @ since 3.0 . 0
*/
function ms_cookie_constants ( ) {
2013-11-12 22:23:10 -05:00
$current_site = get_current_site ();
2010-02-20 19:03:42 -05:00
2010-02-12 03:22:34 -05:00
/**
* @ since 1.2 . 0
*/
if ( ! defined ( 'COOKIEPATH' ) )
define ( 'COOKIEPATH' , $current_site -> path );
/**
* @ since 1.5 . 0
*/
if ( ! defined ( 'SITECOOKIEPATH' ) )
define ( 'SITECOOKIEPATH' , $current_site -> path );
/**
* @ since 2.6 . 0
*/
if ( ! defined ( 'ADMIN_COOKIE_PATH' ) ) {
2012-12-03 19:51:02 -05:00
if ( ! is_subdomain_install () || trim ( parse_url ( get_option ( 'siteurl' ), PHP_URL_PATH ), '/' ) ) {
2010-02-12 03:22:34 -05:00
define ( 'ADMIN_COOKIE_PATH' , SITECOOKIEPATH );
} else {
define ( 'ADMIN_COOKIE_PATH' , SITECOOKIEPATH . 'wp-admin' );
}
2010-01-28 12:16:58 -05:00
}
2010-02-12 03:22:34 -05:00
/**
* @ since 2.0 . 0
*/
2010-05-03 14:53:05 -04:00
if ( ! defined ( 'COOKIE_DOMAIN' ) && is_subdomain_install () ) {
if ( ! empty ( $current_site -> cookie_domain ) )
2010-02-13 19:12:08 -05:00
define ( 'COOKIE_DOMAIN' , '.' . $current_site -> cookie_domain );
else
define ( 'COOKIE_DOMAIN' , '.' . $current_site -> domain );
}
2010-02-12 03:22:34 -05:00
}
/**
* Defines Multisite file constants .
*
2012-09-11 18:22:20 -04:00
* Exists for backward compatibility with legacy file - serving through
* wp - includes / ms - files . php ( wp - content / blogs . php in MU ) .
*
2010-02-12 03:22:34 -05:00
* @ since 3.0 . 0
*/
2012-09-11 18:22:20 -04:00
function ms_file_constants () {
2010-02-12 03:22:34 -05:00
/**
* Optional support for X - Sendfile header
* @ since 3.0 . 0
*/
if ( ! defined ( 'WPMU_SENDFILE' ) )
define ( 'WPMU_SENDFILE' , false );
/**
* Optional support for X - Accel - Redirect header
* @ since 3.0 . 0
*/
if ( ! defined ( 'WPMU_ACCEL_REDIRECT' ) )
define ( 'WPMU_ACCEL_REDIRECT' , false );
2010-01-28 12:16:58 -05:00
}
2010-05-04 16:48:28 -04: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
2015-05-26 17:51:31 -04:00
*
* @ staticvar bool $subdomain_error
* @ staticvar bool $subdomain_error_warn
2010-05-04 16:48:28 -04:00
*/
function ms_subdomain_constants () {
2014-07-19 19:14:15 -04:00
static $subdomain_error = null ;
static $subdomain_error_warn = null ;
2010-05-25 22:42:15 -04:00
2014-07-16 18:35:14 -04:00
if ( false === $subdomain_error ) {
2010-05-04 16:48:28 -04:00
return ;
2014-07-16 18:35:14 -04:00
}
2010-05-04 16:48:28 -04:00
2014-07-16 18:35:14 -04:00
if ( $subdomain_error ) {
2010-05-04 16:48:28 -04:00
$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.' );
2014-07-16 18:35:14 -04:00
if ( $subdomain_error_warn ) {
2010-05-04 16:48:28 -04:00
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' ) ) {
2014-07-16 18:35:14 -04:00
$subdomain_error = true ;
if ( SUBDOMAIN_INSTALL !== ( 'yes' == VHOST ) ) {
$subdomain_error_warn = true ;
2010-05-04 16:48:28 -04:00
}
} elseif ( defined ( 'SUBDOMAIN_INSTALL' ) ) {
2014-07-16 18:35:14 -04:00
$subdomain_error = false ;
2010-05-04 16:48:28 -04:00
define ( 'VHOST' , SUBDOMAIN_INSTALL ? 'yes' : 'no' );
} elseif ( defined ( 'VHOST' ) ) {
2014-07-16 18:35:14 -04:00
$subdomain_error = true ;
2010-05-04 16:48:28 -04:00
define ( 'SUBDOMAIN_INSTALL' , 'yes' == VHOST );
2010-05-25 22:42:15 -04:00
} else {
2014-07-16 18:35:14 -04:00
$subdomain_error = false ;
2010-05-04 16:48:28 -04:00
define ( 'SUBDOMAIN_INSTALL' , false );
define ( 'VHOST' , 'no' );
}
}