/var/www/(Del)hsihk.com/wp-includes/ms-settings.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<?php
/**
 * Used to set up and fix common variables and include
 * the Multisite procedural and class library.
 *
 * Allows for some configuration in wp-config.php (see ms-default-constants.php)
 *
 * @package WordPress
 * @subpackage Multisite
 * @since 3.0.0
 */

/** Include Multisite initialization functions */
require_once( ABSPATH WPINC '/ms-load.php' );
require_once( 
ABSPATH WPINC '/ms-default-constants.php' );

if ( 
defined'SUNRISE' ) ) {
    include_once( 
WP_CONTENT_DIR '/sunrise.php' );
}

/** Check for and define SUBDOMAIN_INSTALL and the deprecated VHOST constant. */
ms_subdomain_constants();

if ( !isset( 
$current_site ) || !isset( $current_blog ) ) {

    
// Given the domain and path, let's try to identify the network and site.
    // Usually, it's easier to query the site first, which declares its network.
    // In limited situations, though, we either can or must find the network first.

    
$domain strtolowerstripslashes$_SERVER['HTTP_HOST'] ) );
    if ( 
substr$domain, -) == ':80' ) {
        
$domain substr$domain0, -);
        
$_SERVER['HTTP_HOST'] = substr$_SERVER['HTTP_HOST'], 0, -);
    } elseif ( 
substr$domain, -) == ':443' ) {
        
$domain substr$domain0, -);
        
$_SERVER['HTTP_HOST'] = substr$_SERVER['HTTP_HOST'], 0, -);
    }

    
$path stripslashes$_SERVER['REQUEST_URI'] );
    if ( 
is_admin() ) {
        
$path preg_replace'#(.*)/wp-admin/.*#''$1/'$path );
    }
    list( 
$path ) = explode'?'$path );

    
// If the network is defined in wp-config.php, we can simply use that.
    
if ( defined'DOMAIN_CURRENT_SITE' ) && defined'PATH_CURRENT_SITE' ) ) {
        
$current_site = new stdClass;
        
$current_site->id defined'SITE_ID_CURRENT_SITE' ) ? SITE_ID_CURRENT_SITE 1;
        
$current_site->domain DOMAIN_CURRENT_SITE;
        
$current_site->path PATH_CURRENT_SITE;
        if ( 
defined'BLOG_ID_CURRENT_SITE' ) ) {
            
$current_site->blog_id BLOG_ID_CURRENT_SITE;
        } elseif ( 
defined'BLOGID_CURRENT_SITE' ) ) { // deprecated.
            
$current_site->blog_id BLOGID_CURRENT_SITE;
        }

        if ( 
=== strcasecmp$current_site->domain$domain ) && === strcasecmp$current_site->path$path ) ) {
            
$current_blog get_site_by_path$domain$path );
        } elseif ( 
'/' !== $current_site->path && === strcasecmp$current_site->domain$domain ) && === stripos$path$current_site->path ) ) {
            
// If the current network has a path and also matches the domain and path of the request,
            // we need to look for a site using the first path segment following the network's path.
            
$current_blog get_site_by_path$domain$pathcountexplode'/'trim$current_site->path'/' ) ) ) );
        } else {
            
// Otherwise, use the first path segment (as usual).
            
$current_blog get_site_by_path$domain$path);
        }

    } elseif ( ! 
is_subdomain_install() ) {
        
/*
         * A "subdomain" install can be re-interpreted to mean "can support any domain".
         * If we're not dealing with one of these installs, then the important part is determining
         * the network first, because we need the network's path to identify any sites.
         */
        
if ( ! $current_site wp_cache_get'current_network''site-options' ) ) {
            
// Are there even two networks installed?
            
$one_network $wpdb->get_row"SELECT * FROM $wpdb->site LIMIT 2" ); // [sic]
            
if ( === $wpdb->num_rows ) {
                
$current_site wp_get_network$one_network );
                
wp_cache_add'current_network'$current_site'site-options' );
            } elseif ( 
=== $wpdb->num_rows ) {
                
ms_not_installed();
            }
        }
        if ( empty( 
$current_site ) ) {
            
$current_site get_network_by_path$domain$path);
        }

        if ( empty( 
$current_site ) ) {
            
ms_not_installed();
        } elseif ( 
$path === $current_site->path ) {
            
$current_blog get_site_by_path$domain$path );
        } else {
            
// Search the network path + one more path segment (on top of the network path).
            
$current_blog get_site_by_path$domain$pathsubstr_count$current_site->path'/' ) );
        }
    } else {
        
// Find the site by the domain and at most the first path segment.
        
$current_blog get_site_by_path$domain$path);
        if ( 
$current_blog ) {
            
$current_site wp_get_network$current_blog->site_id $current_blog->site_id );
        } else {
            
// If you don't have a site with the same domain/path as a network, you're pretty screwed, but:
            
$current_site get_network_by_path$domain$path);
        }
    }

    
// The network declared by the site trumps any constants.
    
if ( $current_blog && $current_blog->site_id != $current_site->id ) {
        
$current_site wp_get_network$current_blog->site_id );
    }

    
// No network has been found, bail.
    
if ( empty( $current_site ) ) {
        
ms_not_installed();
    }

    
// @todo Investigate when exactly this can occur.
    
if ( empty( $current_blog ) && defined'WP_INSTALLING' ) ) {
        
$current_blog = new stdClass;
        
$current_blog->blog_id $blog_id 1;
    }

    
// No site has been found, bail.
    
if ( empty( $current_blog ) ) {
        
// We're going to redirect to the network URL, with some possible modifications.
        
$scheme is_ssl() ? 'https' 'http';
        
$destination "$scheme://{$current_site->domain}{$current_site->path}";

        
/**
         * Fires when a network can be determined but a site cannot.
         *
         * At the time of this action, the only recourse is to redirect somewhere
         * and exit. If you want to declare a particular site, do so earlier.
         *
         * @since 3.9.0
         *
         * @param object $current_site The network that had been determined.
         * @param string $domain       The domain used to search for a site.
         * @param string $path         The path used to search for a site.
         */
        
do_action'ms_site_not_found'$current_site$domain$path );

        if ( 
is_subdomain_install() && ! defined'NOBLOGREDIRECT' ) ) {
            
// For a "subdomain" install, redirect to the signup form specifically.
            
$destination .= 'wp-signup.php?new=' str_replace'.' $current_site->domain''$domain );
        } elseif ( 
is_subdomain_install() ) {
            
// For a "subdomain" install, the NOBLOGREDIRECT constant
            // can be used to avoid a redirect to the signup form.
            // Using the ms_site_not_found action is preferred to the constant.
            
if ( '%siteurl%' !== NOBLOGREDIRECT ) {
                
$destination NOBLOGREDIRECT;
            }
        } elseif ( 
=== strcasecmp$current_site->domain$domain ) ) {
            
/*
             * If the domain we were searching for matches the network's domain,
             * it's no use redirecting back to ourselves -- it'll cause a loop.
             * As we couldn't find a site, we're simply not installed.
             */
            
ms_not_installed();
        }

        
header'Location: ' $destination );
        exit;
    }

    
// @todo What if the domain of the network doesn't match the current site?
    
$current_site->cookie_domain $current_site->domain;
    if ( 
'www.' === substr$current_site->cookie_domain0) ) {
        
$current_site->cookie_domain substr$current_site->cookie_domain);
    }

    
// Figure out the current network's main site.
    
if ( ! isset( $current_site->blog_id ) ) {
        if ( 
$current_blog->domain === $current_site->domain && $current_blog->path === $current_site->path ) {
            
$current_site->blog_id $current_blog->blog_id;
        } elseif ( ! 
$current_site->blog_id wp_cache_get'network:' $current_site->id ':main_site''site-options' ) ) {
            
$current_site->blog_id $wpdb->get_var$wpdb->prepare"SELECT blog_id FROM $wpdb->blogs WHERE domain = %s AND path = %s",
                
$current_site->domain$current_site->path ) );
            
wp_cache_add'network:' $current_site->id ':main_site'$current_site->blog_id'site-options' );
        }
    }

    
$blog_id $current_blog->blog_id;
    
$public  $current_blog->public;

    if ( empty( 
$current_blog->site_id ) ) {
        
// This dates to [MU134] and shouldn't be relevant anymore,
        // but it could be possible for arguments passed to insert_blog() etc.
        
$current_blog->site_id 1;
    }

    
$site_id $current_blog->site_id;
    
wp_load_core_site_options$site_id );
}

$wpdb->set_prefix$table_prefixfalse ); // $table_prefix can be set in sunrise.php
$wpdb->set_blog_id$current_blog->blog_id$current_blog->site_id );
$table_prefix $wpdb->get_blog_prefix();
$_wp_switched_stack = array();
$switched false;

// need to init cache again after blog_id is set
wp_start_object_cache();

if ( ! isset( 
$current_site->site_name ) ) {
    
$current_site->site_name get_site_option'site_name' );
    if ( ! 
$current_site->site_name ) {
        
$current_site->site_name ucfirst$current_site->domain );
    }
}

// Define upload directory constants
ms_upload_constants();