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 * @since 3.0.0
* @param $context
*/ */
function ms_default_constants( $context ) { function ms_upload_constants( ) {
switch( $context ) { global $wpdb;
case 'uploads' :
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 */
if ( !defined( 'BLOGUPLOADDIR' ) ) /** @since 3.0.0 */
define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" ); if ( !defined( 'BLOGUPLOADDIR' ) )
break; define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" );
case 'cookies' : }
global $current_site;
/** /**
* @since 1.2.0 * Defines Multisite cookie constants.
*/ *
if ( !defined( 'COOKIEPATH' ) ) * @since 3.0.0
define( 'COOKIEPATH', $current_site->path ); */
/** function ms_cookie_constants( ) {
* @since 1.5.0 global $current_site;
*/
if ( !defined( 'SITECOOKIEPATH' ) ) /**
define( 'SITECOOKIEPATH', $current_site->path ); * @since 1.2.0
/** */
* @since 2.6.0 if ( !defined( 'COOKIEPATH' ) )
*/ define( 'COOKIEPATH', $current_site->path );
if ( !defined( 'ADMIN_COOKIE_PATH' ) ) {
if( !is_subdomain_install() ) { /**
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH ); * @since 1.5.0
} else { */
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' ); if ( !defined( 'SITECOOKIEPATH' ) )
} define( 'SITECOOKIEPATH', $current_site->path );
}
/** /**
* @since 2.0.0 * @since 2.6.0
*/ */
if ( !defined('COOKIE_DOMAIN') ) if ( !defined( 'ADMIN_COOKIE_PATH' ) ) {
define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain); if( !is_subdomain_install() ) {
break; define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH );
case 'ms-files' : } else {
/** define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
* 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;
} }
/**
* @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' ); 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().