]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/ms-default-constants.php
WordPress 4.6.3-scripts
[autoinstalls/wordpress.git] / wp-includes / ms-default-constants.php
index 12dc661a37b550e1f3906a311d7f6b203cadb827..98719f8ba5b464f5db769472a6785212866bb1bc 100644 (file)
 /**
  * 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,40 +116,49 @@ 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 <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.' );
-               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 <strong>is deprecated</strong>. 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.' ),
+                       '<code>VHOST</code>',
+                       '<code>SUBDOMAIN_INSTALL</code>',
+                       '<code>wp-config.php</code>',
+                       '<code>is_subdomain_install()</code>'
+               );
+               if ( $subdomain_error_warn ) {
                        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 );
+                       _deprecated_argument( 'define()', '3.0.0', $vhost_deprecated );
                }
                return;
        }
 
        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' );
-
-?>