X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/4f9d63e13cd8c6e275797c75b401b074b82937bc..46588ee871246a923d972538dbc93b26f4fda932:/wp-includes/ms-default-constants.php diff --git a/wp-includes/ms-default-constants.php b/wp-includes/ms-default-constants.php index 12dc661a..0f7d0ff6 100644 --- a/wp-includes/ms-default-constants.php +++ b/wp-includes/ms-default-constants.php @@ -10,21 +10,31 @@ /** * 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( ) { +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 +45,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 +63,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 +84,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 @@ -103,15 +116,16 @@ function ms_file_constants( ) { * @since 3.0.0 */ 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 ) { + 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 ); @@ -120,21 +134,20 @@ 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' ); - -?>