From b20c3c41d4ad31ffa216d59d65f011344b8e5375 Mon Sep 17 00:00:00 2001 From: westi Date: Fri, 12 Feb 2010 08:22:34 +0000 Subject: [PATCH] Improve the implementation of the default constant defining functions for multisite. See #11881. git-svn-id: http://svn.automattic.com/wordpress/trunk@13065 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/ms-default-constants.php | 131 +++++++++++++++------------ wp-includes/ms-files.php | 2 +- wp-includes/ms-settings.php | 2 +- wp-settings.php | 3 +- 4 files changed, 77 insertions(+), 61 deletions(-) diff --git a/wp-includes/ms-default-constants.php b/wp-includes/ms-default-constants.php index 2133b76fb..75ea1e6e7 100644 --- a/wp-includes/ms-default-constants.php +++ b/wp-includes/ms-default-constants.php @@ -7,67 +7,82 @@ */ /** - * Defines Multisite default constants. + * Defines Multisite upload constants. * * @since 3.0.0 - * @param $context */ -function ms_default_constants( $context ) { - switch( $context ) { - case 'uploads' : - global $wpdb; - /** @since 3.0.0 */ - if ( !defined( 'UPLOADBLOGSDIR' ) ) - define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' ); - /** @since 3.0.0 */ - if ( !defined( 'UPLOADS' ) ) - define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" ); - /** @since 3.0.0 */ - if ( !defined( 'BLOGUPLOADDIR' ) ) - define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" ); - break; - case 'cookies' : - global $current_site; - /** - * @since 1.2.0 - */ - if ( !defined( 'COOKIEPATH' ) ) - define( 'COOKIEPATH', $current_site->path ); - /** - * @since 1.5.0 - */ - if ( !defined( 'SITECOOKIEPATH' ) ) - define( 'SITECOOKIEPATH', $current_site->path ); - /** - * @since 2.6.0 - */ - if ( !defined( 'ADMIN_COOKIE_PATH' ) ) { - if( !is_subdomain_install() ) { - define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH ); - } else { - define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' ); - } - } - /** - * @since 2.0.0 - */ - if ( !defined('COOKIE_DOMAIN') ) - define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain); - break; - case 'ms-files' : - /** - * Optional support for X-Sendfile header - * @since 3.0.0 - */ - if ( !defined( 'WPMU_SENDFILE' ) ) - define( 'WPMU_SENDFILE', false ); - /** - * Optional support for X-Accel-Redirect header - * @since 3.0.0 - */ - if ( !defined( 'WPMU_ACCEL_REDIRECT' ) ) - define( 'WPMU_ACCEL_REDIRECT', false ); - break; +function ms_upload_constants( ) { + global $wpdb; + + /** @since 3.0.0 */ + if ( !defined( 'UPLOADBLOGSDIR' ) ) + define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' ); + + /** @since 3.0.0 */ + if ( !defined( 'UPLOADS' ) ) + define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" ); + + /** @since 3.0.0 */ + if ( !defined( 'BLOGUPLOADDIR' ) ) + define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" ); +} + +/** + * Defines Multisite cookie constants. + * + * @since 3.0.0 + */ +function ms_cookie_constants( ) { + global $current_site; + + /** + * @since 1.2.0 + */ + if ( !defined( 'COOKIEPATH' ) ) + define( 'COOKIEPATH', $current_site->path ); + + /** + * @since 1.5.0 + */ + if ( !defined( 'SITECOOKIEPATH' ) ) + define( 'SITECOOKIEPATH', $current_site->path ); + + /** + * @since 2.6.0 + */ + if ( !defined( 'ADMIN_COOKIE_PATH' ) ) { + if( !is_subdomain_install() ) { + define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH ); + } else { + define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' ); + } } + + /** + * @since 2.0.0 + */ + if ( !defined('COOKIE_DOMAIN') ) + define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain); +} + +/** + * Defines Multisite file constants. + * + * @since 3.0.0 + */ +function ms_file_constants( ) { + /** + * Optional support for X-Sendfile header + * @since 3.0.0 + */ + if ( !defined( 'WPMU_SENDFILE' ) ) + define( 'WPMU_SENDFILE', false ); + + /** + * Optional support for X-Accel-Redirect header + * @since 3.0.0 + */ + if ( !defined( 'WPMU_ACCEL_REDIRECT' ) ) + define( 'WPMU_ACCEL_REDIRECT', false ); } ?> \ No newline at end of file diff --git a/wp-includes/ms-files.php b/wp-includes/ms-files.php index ecec87c18..7362619ae 100644 --- a/wp-includes/ms-files.php +++ b/wp-includes/ms-files.php @@ -13,7 +13,7 @@ if ( ! defined( 'SHORTINIT' ) ) { require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' ); } -ms_default_constants( 'ms-files' ); +ms_file_constants( ); error_reporting( 0 ); diff --git a/wp-includes/ms-settings.php b/wp-includes/ms-settings.php index 380dace34..dd5262dab 100644 --- a/wp-includes/ms-settings.php +++ b/wp-includes/ms-settings.php @@ -124,6 +124,6 @@ $table_prefix = $wpdb->get_blog_prefix(); wp_start_object_cache(); // Define upload directory constants -ms_default_constants( 'uploads' ); +ms_upload_constants( ); ?> diff --git a/wp-settings.php b/wp-settings.php index f22881710..fd206e830 100644 --- a/wp-settings.php +++ b/wp-settings.php @@ -150,7 +150,8 @@ if ( is_multisite() ) { die(); } unset($file); - ms_default_constants( 'cookies' ); + + ms_cookie_constants( ); } // Define constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies().