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
This commit is contained in:
westi 2010-02-12 08:22:34 +00:00
parent 0206ffe69c
commit b20c3c41d4
4 changed files with 77 additions and 61 deletions

View File

@ -7,37 +7,46 @@
*/ */
/** /**
* Defines Multisite default constants. * Defines Multisite upload constants.
* *
* @since 3.0.0 * @since 3.0.0
* @param $context
*/ */
function ms_default_constants( $context ) { function ms_upload_constants( ) {
switch( $context ) {
case 'uploads' :
global $wpdb; global $wpdb;
/** @since 3.0.0 */ /** @since 3.0.0 */
if ( !defined( 'UPLOADBLOGSDIR' ) ) if ( !defined( 'UPLOADBLOGSDIR' ) )
define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' ); define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' );
/** @since 3.0.0 */ /** @since 3.0.0 */
if ( !defined( 'UPLOADS' ) ) if ( !defined( 'UPLOADS' ) )
define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" ); define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" );
/** @since 3.0.0 */ /** @since 3.0.0 */
if ( !defined( 'BLOGUPLOADDIR' ) ) if ( !defined( 'BLOGUPLOADDIR' ) )
define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" ); define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" );
break; }
case 'cookies' :
/**
* Defines Multisite cookie constants.
*
* @since 3.0.0
*/
function ms_cookie_constants( ) {
global $current_site; global $current_site;
/** /**
* @since 1.2.0 * @since 1.2.0
*/ */
if ( !defined( 'COOKIEPATH' ) ) if ( !defined( 'COOKIEPATH' ) )
define( 'COOKIEPATH', $current_site->path ); define( 'COOKIEPATH', $current_site->path );
/** /**
* @since 1.5.0 * @since 1.5.0
*/ */
if ( !defined( 'SITECOOKIEPATH' ) ) if ( !defined( 'SITECOOKIEPATH' ) )
define( 'SITECOOKIEPATH', $current_site->path ); define( 'SITECOOKIEPATH', $current_site->path );
/** /**
* @since 2.6.0 * @since 2.6.0
*/ */
@ -48,26 +57,32 @@ function ms_default_constants( $context ) {
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' ); define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
} }
} }
/** /**
* @since 2.0.0 * @since 2.0.0
*/ */
if ( !defined('COOKIE_DOMAIN') ) if ( !defined('COOKIE_DOMAIN') )
define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain); define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain);
break; }
case 'ms-files' :
/**
* Defines Multisite file constants.
*
* @since 3.0.0
*/
function ms_file_constants( ) {
/** /**
* Optional support for X-Sendfile header * Optional support for X-Sendfile header
* @since 3.0.0 * @since 3.0.0
*/ */
if ( !defined( 'WPMU_SENDFILE' ) ) if ( !defined( 'WPMU_SENDFILE' ) )
define( 'WPMU_SENDFILE', false ); define( 'WPMU_SENDFILE', false );
/** /**
* Optional support for X-Accel-Redirect header * Optional support for X-Accel-Redirect header
* @since 3.0.0 * @since 3.0.0
*/ */
if ( !defined( 'WPMU_ACCEL_REDIRECT' ) ) if ( !defined( 'WPMU_ACCEL_REDIRECT' ) )
define( 'WPMU_ACCEL_REDIRECT', false ); define( 'WPMU_ACCEL_REDIRECT', false );
break;
}
} }
?> ?>

View File

@ -13,7 +13,7 @@ if ( ! defined( 'SHORTINIT' ) ) {
require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' ); require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
} }
ms_default_constants( 'ms-files' ); ms_file_constants( );
error_reporting( 0 ); error_reporting( 0 );

View File

@ -124,6 +124,6 @@ $table_prefix = $wpdb->get_blog_prefix();
wp_start_object_cache(); wp_start_object_cache();
// Define upload directory constants // Define upload directory constants
ms_default_constants( 'uploads' ); ms_upload_constants( );
?> ?>

View File

@ -150,7 +150,8 @@ if ( is_multisite() ) {
die(); die();
} }
unset($file); 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(). // Define constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies().