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' );