web/wp-includes/ms-default-constants.php
changeset 194 32102edaa81b
child 204 09a1c134465b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
       
     1 <?php
       
     2 /**
       
     3  * Defines constants and global variables that can be overridden, generally in wp-config.php.
       
     4  *
       
     5  * @package WordPress
       
     6  * @subpackage Multisite
       
     7  * @since 3.0.0
       
     8  */
       
     9 
       
    10 /**
       
    11  * Defines Multisite upload constants.
       
    12  *
       
    13  * @since 3.0.0
       
    14  */
       
    15 function ms_upload_constants(  ) {
       
    16 	global $wpdb;
       
    17 
       
    18 	/** @since 3.0.0 */
       
    19 	// Base uploads dir relative to ABSPATH
       
    20 	if ( !defined( 'UPLOADBLOGSDIR' ) )
       
    21 		define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' );
       
    22 
       
    23 	/** @since 3.0.0 */
       
    24 	if ( !defined( 'UPLOADS' ) ) {
       
    25 		// Uploads dir relative to ABSPATH
       
    26 		define( 'UPLOADS', UPLOADBLOGSDIR . "/{$wpdb->blogid}/files/" );
       
    27 		if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR )
       
    28 			define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . "/blogs.dir/{$wpdb->blogid}/files/" );
       
    29 	}
       
    30 }
       
    31 
       
    32 /**
       
    33  * Defines Multisite cookie constants.
       
    34  *
       
    35  * @since 3.0.0
       
    36  */
       
    37 function ms_cookie_constants(  ) {
       
    38 	global $current_site;
       
    39 
       
    40 	/**
       
    41 	 * @since 1.2.0
       
    42 	 */
       
    43 	if ( !defined( 'COOKIEPATH' ) )
       
    44 		define( 'COOKIEPATH', $current_site->path );
       
    45 
       
    46 	/**
       
    47 	 * @since 1.5.0
       
    48 	 */
       
    49 	if ( !defined( 'SITECOOKIEPATH' ) )
       
    50 		define( 'SITECOOKIEPATH', $current_site->path );
       
    51 
       
    52 	/**
       
    53 	 * @since 2.6.0
       
    54 	 */
       
    55 	if ( !defined( 'ADMIN_COOKIE_PATH' ) ) {
       
    56 		if( !is_subdomain_install() ) {
       
    57 			define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH );
       
    58 		} else {
       
    59 			define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
       
    60 		}
       
    61 	}
       
    62 
       
    63 	/**
       
    64 	 * @since 2.0.0
       
    65 	 */
       
    66 	if ( !defined('COOKIE_DOMAIN') && is_subdomain_install() ) {
       
    67 		if ( !empty( $current_site->cookie_domain ) )
       
    68 			define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain);
       
    69 		else
       
    70 			define('COOKIE_DOMAIN', '.' . $current_site->domain);
       
    71 	}
       
    72 }
       
    73 
       
    74 /**
       
    75  * Defines Multisite file constants.
       
    76  *
       
    77  * @since 3.0.0
       
    78  */
       
    79 function ms_file_constants(  ) {
       
    80 	/**
       
    81 	 * Optional support for X-Sendfile header
       
    82 	 * @since 3.0.0
       
    83 	 */
       
    84 	if ( !defined( 'WPMU_SENDFILE' ) )
       
    85 		define( 'WPMU_SENDFILE', false );
       
    86 
       
    87 	/**
       
    88 	 * Optional support for X-Accel-Redirect header
       
    89 	 * @since 3.0.0
       
    90 	 */
       
    91 	if ( !defined( 'WPMU_ACCEL_REDIRECT' ) )
       
    92 		define( 'WPMU_ACCEL_REDIRECT', false );
       
    93 }
       
    94 
       
    95 /**
       
    96  * Defines Multisite subdomain constants and handles warnings and notices.
       
    97  *
       
    98  * VHOST is deprecated in favor of SUBDOMAIN_INSTALL, which is a bool.
       
    99  *
       
   100  * On first call, the constants are checked and defined. On second call,
       
   101  * we will have translations loaded and can trigger warnings easily.
       
   102  *
       
   103  * @since 3.0.0
       
   104  */
       
   105 function ms_subdomain_constants() {
       
   106 	static $error = null;
       
   107 	static $error_warn = false;
       
   108 
       
   109 	if ( false === $error )
       
   110 		return;
       
   111 
       
   112 	if ( $error ) {
       
   113 		$vhost_deprecated = __( 'The constant <code>VHOST</code> <strong>is deprecated</strong>. Use the boolean constant <code>SUBDOMAIN_INSTALL</code> in wp-config.php to enable a subdomain configuration. Use is_subdomain_install() to check whether a subdomain configuration is enabled.' );
       
   114 		if ( $error_warn ) {
       
   115 			trigger_error( __( '<strong>Conflicting values for the constants VHOST and SUBDOMAIN_INSTALL.</strong> The value of SUBDOMAIN_INSTALL will be assumed to be your subdomain configuration setting.' ) . ' ' . $vhost_deprecated, E_USER_WARNING );
       
   116 		} else {
       
   117 	 		_deprecated_argument( 'define()', '3.0', $vhost_deprecated );
       
   118 		}
       
   119 		return;
       
   120 	}
       
   121 
       
   122 	if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) {
       
   123 		if ( SUBDOMAIN_INSTALL == ( 'yes' == VHOST ) ) {
       
   124 			$error = true;
       
   125 		} else {
       
   126 			$error = $error_warn = true;
       
   127 		}
       
   128 	} elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) {
       
   129 		define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' );
       
   130 	} elseif ( defined( 'VHOST' ) ) {
       
   131 		$error = true;
       
   132 		define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST );
       
   133 	} else {
       
   134 		define( 'SUBDOMAIN_INSTALL', false );
       
   135 		define( 'VHOST', 'no' );
       
   136 	}
       
   137 }
       
   138 add_action( 'init', 'ms_subdomain_constants' );