X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..4feeb71a9d812a9ae371c28a3d8b442a4394ded7:/wp-includes/ms-default-constants.php
diff --git a/wp-includes/ms-default-constants.php b/wp-includes/ms-default-constants.php
index cc341b14..dd17201e 100644
--- a/wp-includes/ms-default-constants.php
+++ b/wp-includes/ms-default-constants.php
@@ -10,21 +10,33 @@
/**
* 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
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
*/
-function ms_upload_constants( ) {
+function ms_upload_constants() {
global $wpdb;
- /** @since 3.0.0 */
+ // 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' );
+
+ if ( ! get_site_option( 'ms_files_rewriting' ) )
+ return;
+
// Base uploads dir relative to ABSPATH
if ( !defined( 'UPLOADBLOGSDIR' ) )
define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' );
- /** @since 3.0.0 */
- if ( !defined( 'UPLOADS' ) ) {
- // Uploads dir relative to ABSPATH
+ // 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' ) ) {
define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" );
- if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR )
+
+ // Uploads dir relative to ABSPATH
+ if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR && ! defined( 'BLOGUPLOADDIR' ) )
define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" );
}
}
@@ -35,7 +47,7 @@ function ms_upload_constants( ) {
* @since 3.0.0
*/
function ms_cookie_constants( ) {
- global $current_site;
+ $current_site = get_current_site();
/**
* @since 1.2.0
@@ -53,7 +65,7 @@ function ms_cookie_constants( ) {
* @since 2.6.0
*/
if ( !defined( 'ADMIN_COOKIE_PATH' ) ) {
- if( !is_subdomain_install() ) {
+ 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' );
@@ -74,9 +86,12 @@ function ms_cookie_constants( ) {
/**
* 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( ) {
+function ms_file_constants() {
/**
* Optional support for X-Sendfile header
* @since 3.0.0
@@ -101,17 +116,28 @@ function ms_file_constants( ) {
* 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() {
- static $error = null;
- static $error_warn = false;
+ static $subdomain_error = null;
+ static $subdomain_error_warn = null;
- if ( false === $error )
+ if ( false === $subdomain_error ) {
return;
+ }
- if ( $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 ) {
+ $vhost_deprecated = sprintf(
+ /* translators: 1: VHOST, 2: SUBDOMAIN_INSTALL, 3: wp-config.php, 4: is_subdomain_install() */
+ __( 'The constant %1$s is deprecated. 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.' ),
+ 'VHOST
',
+ 'SUBDOMAIN_INSTALL
',
+ 'wp-config.php
',
+ 'is_subdomain_install()
'
+ );
+ 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 );
@@ -120,19 +146,19 @@ 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' );
}
}
-add_action( 'init', 'ms_subdomain_constants' );