home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / ms-default-constants.php < prev    next >
Encoding:
PHP Script  |  2017-10-01  |  4.6 KB  |  163 lines

  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.  * Exists for backward compatibility with legacy file-serving through
  14.  * wp-includes/ms-files.php (wp-content/blogs.php in MU).
  15.  *
  16.  * @since 3.0.0
  17.  */
  18. function ms_upload_constants() {
  19.     // This filter is attached in ms-default-filters.php but that file is not included during SHORTINIT.
  20.     add_filter( 'default_site_option_ms_files_rewriting', '__return_true' );
  21.  
  22.     if ( ! get_site_option( 'ms_files_rewriting' ) )
  23.         return;
  24.  
  25.     // Base uploads dir relative to ABSPATH
  26.     if ( !defined( 'UPLOADBLOGSDIR' ) )
  27.         define( 'UPLOADBLOGSDIR', 'wp-content/blogs.dir' );
  28.  
  29.     // Note, the main site in a post-MU network uses wp-content/uploads.
  30.     // This is handled in wp_upload_dir() by ignoring UPLOADS for this case.
  31.     if ( ! defined( 'UPLOADS' ) ) {
  32.         $site_id = get_current_blog_id();
  33.  
  34.         define( 'UPLOADS', UPLOADBLOGSDIR . '/' . $site_id . '/files/' );
  35.  
  36.         // Uploads dir relative to ABSPATH
  37.         if ( 'wp-content/blogs.dir' == UPLOADBLOGSDIR && ! defined( 'BLOGUPLOADDIR' ) )
  38.             define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . '/blogs.dir/' . $site_id . '/files/' );
  39.     }
  40. }
  41.  
  42. /**
  43.  * Defines Multisite cookie constants.
  44.  *
  45.  * @since 3.0.0
  46.  */
  47. function ms_cookie_constants(  ) {
  48.     $current_network = get_network();
  49.  
  50.     /**
  51.      * @since 1.2.0
  52.      */
  53.     if ( !defined( 'COOKIEPATH' ) )
  54.         define( 'COOKIEPATH', $current_network->path );
  55.  
  56.     /**
  57.      * @since 1.5.0
  58.      */
  59.     if ( !defined( 'SITECOOKIEPATH' ) )
  60.         define( 'SITECOOKIEPATH', $current_network->path );
  61.  
  62.     /**
  63.      * @since 2.6.0
  64.      */
  65.     if ( !defined( 'ADMIN_COOKIE_PATH' ) ) {
  66.         if ( ! is_subdomain_install() || trim( parse_url( get_option( 'siteurl' ), PHP_URL_PATH ), '/' ) ) {
  67.             define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH );
  68.         } else {
  69.             define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
  70.         }
  71.     }
  72.  
  73.     /**
  74.      * @since 2.0.0
  75.      */
  76.     if ( !defined('COOKIE_DOMAIN') && is_subdomain_install() ) {
  77.         if ( !empty( $current_network->cookie_domain ) )
  78.             define('COOKIE_DOMAIN', '.' . $current_network->cookie_domain);
  79.         else
  80.             define('COOKIE_DOMAIN', '.' . $current_network->domain);
  81.     }
  82. }
  83.  
  84. /**
  85.  * Defines Multisite file constants.
  86.  *
  87.  * Exists for backward compatibility with legacy file-serving through
  88.  * wp-includes/ms-files.php (wp-content/blogs.php in MU).
  89.  *
  90.  * @since 3.0.0
  91.  */
  92. function ms_file_constants() {
  93.     /**
  94.      * Optional support for X-Sendfile header
  95.      * @since 3.0.0
  96.      */
  97.     if ( !defined( 'WPMU_SENDFILE' ) )
  98.         define( 'WPMU_SENDFILE', false );
  99.  
  100.     /**
  101.      * Optional support for X-Accel-Redirect header
  102.      * @since 3.0.0
  103.      */
  104.     if ( !defined( 'WPMU_ACCEL_REDIRECT' ) )
  105.         define( 'WPMU_ACCEL_REDIRECT', false );
  106. }
  107.  
  108. /**
  109.  * Defines Multisite subdomain constants and handles warnings and notices.
  110.  *
  111.  * VHOST is deprecated in favor of SUBDOMAIN_INSTALL, which is a bool.
  112.  *
  113.  * On first call, the constants are checked and defined. On second call,
  114.  * we will have translations loaded and can trigger warnings easily.
  115.  *
  116.  * @since 3.0.0
  117.  *
  118.  * @staticvar bool $subdomain_error
  119.  * @staticvar bool $subdomain_error_warn
  120.  */
  121. function ms_subdomain_constants() {
  122.     static $subdomain_error = null;
  123.     static $subdomain_error_warn = null;
  124.  
  125.     if ( false === $subdomain_error ) {
  126.         return;
  127.     }
  128.  
  129.     if ( $subdomain_error ) {
  130.         $vhost_deprecated = sprintf(
  131.             /* translators: 1: VHOST, 2: SUBDOMAIN_INSTALL, 3: wp-config.php, 4: is_subdomain_install() */
  132.             __( 'The constant %1$s <strong>is deprecated</strong>. Use the boolean constant %2$s in %3$s to enable a subdomain configuration. Use %4$s to check whether a subdomain configuration is enabled.' ),
  133.             '<code>VHOST</code>',
  134.             '<code>SUBDOMAIN_INSTALL</code>',
  135.             '<code>wp-config.php</code>',
  136.             '<code>is_subdomain_install()</code>'
  137.         );
  138.         if ( $subdomain_error_warn ) {
  139.             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 );
  140.         } else {
  141.              _deprecated_argument( 'define()', '3.0.0', $vhost_deprecated );
  142.         }
  143.         return;
  144.     }
  145.  
  146.     if ( defined( 'SUBDOMAIN_INSTALL' ) && defined( 'VHOST' ) ) {
  147.         $subdomain_error = true;
  148.         if ( SUBDOMAIN_INSTALL !== ( 'yes' == VHOST ) ) {
  149.             $subdomain_error_warn = true;
  150.         }
  151.     } elseif ( defined( 'SUBDOMAIN_INSTALL' ) ) {
  152.         $subdomain_error = false;
  153.         define( 'VHOST', SUBDOMAIN_INSTALL ? 'yes' : 'no' );
  154.     } elseif ( defined( 'VHOST' ) ) {
  155.         $subdomain_error = true;
  156.         define( 'SUBDOMAIN_INSTALL', 'yes' == VHOST );
  157.     } else {
  158.         $subdomain_error = false;
  159.         define( 'SUBDOMAIN_INSTALL', false );
  160.         define( 'VHOST', 'no' );
  161.     }
  162. }
  163.