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,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 );
}
?>

View File

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

View File

@ -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( );
?>

View File

@ -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().