web/wp-includes/ms-default-constants.php
changeset 204 09a1c134465b
parent 194 32102edaa81b
--- a/web/wp-includes/ms-default-constants.php	Wed Dec 19 12:35:13 2012 -0800
+++ b/web/wp-includes/ms-default-constants.php	Wed Dec 19 17:46:52 2012 -0800
@@ -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' ) ) {
+	// 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/" );
+
 		// Uploads dir relative to ABSPATH
-		define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" );
-		if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR )
+		if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR && ! defined( 'BLOGUPLOADDIR' ) )
 			define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" );
 	}
 }
@@ -53,7 +63,7 @@
 	 * @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 @@
 /**
  * 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