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