Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-inclu...
File: functions.php
__( 'https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/' )
[6000] Fix | Delete
);
[6001] Fix | Delete
[6002] Fix | Delete
$message = sprintf(
[6003] Fix | Delete
/* translators: Developer debugging message. 1: PHP function name, 2: Explanatory message, 3: WordPress version number. */
[6004] Fix | Delete
__( 'Function %1$s was called <strong>incorrectly</strong>. %2$s %3$s' ),
[6005] Fix | Delete
$function_name,
[6006] Fix | Delete
$message,
[6007] Fix | Delete
$version
[6008] Fix | Delete
);
[6009] Fix | Delete
} else {
[6010] Fix | Delete
if ( $version ) {
[6011] Fix | Delete
$version = sprintf( '(This message was added in version %s.)', $version );
[6012] Fix | Delete
}
[6013] Fix | Delete
[6014] Fix | Delete
$message .= sprintf(
[6015] Fix | Delete
' Please see <a href="%s">Debugging in WordPress</a> for more information.',
[6016] Fix | Delete
'https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/'
[6017] Fix | Delete
);
[6018] Fix | Delete
[6019] Fix | Delete
$message = sprintf(
[6020] Fix | Delete
'Function %1$s was called <strong>incorrectly</strong>. %2$s %3$s',
[6021] Fix | Delete
$function_name,
[6022] Fix | Delete
$message,
[6023] Fix | Delete
$version
[6024] Fix | Delete
);
[6025] Fix | Delete
}
[6026] Fix | Delete
[6027] Fix | Delete
wp_trigger_error( '', $message );
[6028] Fix | Delete
}
[6029] Fix | Delete
}
[6030] Fix | Delete
[6031] Fix | Delete
/**
[6032] Fix | Delete
* Generates a user-level error/warning/notice/deprecation message.
[6033] Fix | Delete
*
[6034] Fix | Delete
* Generates the message when `WP_DEBUG` is true.
[6035] Fix | Delete
*
[6036] Fix | Delete
* @since 6.4.0
[6037] Fix | Delete
*
[6038] Fix | Delete
* @param string $function_name The function that triggered the error.
[6039] Fix | Delete
* @param string $message The message explaining the error.
[6040] Fix | Delete
* The message can contain allowed HTML 'a' (with href), 'code',
[6041] Fix | Delete
* 'br', 'em', and 'strong' tags and http or https protocols.
[6042] Fix | Delete
* If it contains other HTML tags or protocols, the message should be escaped
[6043] Fix | Delete
* before passing to this function to avoid being stripped {@see wp_kses()}.
[6044] Fix | Delete
* @param int $error_level Optional. The designated error type for this error.
[6045] Fix | Delete
* Only works with E_USER family of constants. Default E_USER_NOTICE.
[6046] Fix | Delete
*/
[6047] Fix | Delete
function wp_trigger_error( $function_name, $message, $error_level = E_USER_NOTICE ) {
[6048] Fix | Delete
[6049] Fix | Delete
// Bail out if WP_DEBUG is not turned on.
[6050] Fix | Delete
if ( ! WP_DEBUG ) {
[6051] Fix | Delete
return;
[6052] Fix | Delete
}
[6053] Fix | Delete
[6054] Fix | Delete
/**
[6055] Fix | Delete
* Fires when the given function triggers a user-level error/warning/notice/deprecation message.
[6056] Fix | Delete
*
[6057] Fix | Delete
* Can be used for debug backtracking.
[6058] Fix | Delete
*
[6059] Fix | Delete
* @since 6.4.0
[6060] Fix | Delete
*
[6061] Fix | Delete
* @param string $function_name The function that was called.
[6062] Fix | Delete
* @param string $message A message explaining what has been done incorrectly.
[6063] Fix | Delete
* @param int $error_level The designated error type for this error.
[6064] Fix | Delete
*/
[6065] Fix | Delete
do_action( 'wp_trigger_error_run', $function_name, $message, $error_level );
[6066] Fix | Delete
[6067] Fix | Delete
if ( ! empty( $function_name ) ) {
[6068] Fix | Delete
$message = sprintf( '%s(): %s', $function_name, $message );
[6069] Fix | Delete
}
[6070] Fix | Delete
[6071] Fix | Delete
$message = wp_kses(
[6072] Fix | Delete
$message,
[6073] Fix | Delete
array(
[6074] Fix | Delete
'a' => array( 'href' => true ),
[6075] Fix | Delete
'br' => array(),
[6076] Fix | Delete
'code' => array(),
[6077] Fix | Delete
'em' => array(),
[6078] Fix | Delete
'strong' => array(),
[6079] Fix | Delete
),
[6080] Fix | Delete
array( 'http', 'https' )
[6081] Fix | Delete
);
[6082] Fix | Delete
[6083] Fix | Delete
trigger_error( $message, $error_level );
[6084] Fix | Delete
}
[6085] Fix | Delete
[6086] Fix | Delete
/**
[6087] Fix | Delete
* Determines whether the server is running an earlier than 1.5.0 version of lighttpd.
[6088] Fix | Delete
*
[6089] Fix | Delete
* @since 2.5.0
[6090] Fix | Delete
*
[6091] Fix | Delete
* @return bool Whether the server is running lighttpd < 1.5.0.
[6092] Fix | Delete
*/
[6093] Fix | Delete
function is_lighttpd_before_150() {
[6094] Fix | Delete
$server_parts = explode( '/', isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : '' );
[6095] Fix | Delete
$server_parts[1] = isset( $server_parts[1] ) ? $server_parts[1] : '';
[6096] Fix | Delete
[6097] Fix | Delete
return ( 'lighttpd' === $server_parts[0] && -1 === version_compare( $server_parts[1], '1.5.0' ) );
[6098] Fix | Delete
}
[6099] Fix | Delete
[6100] Fix | Delete
/**
[6101] Fix | Delete
* Determines whether the specified module exist in the Apache config.
[6102] Fix | Delete
*
[6103] Fix | Delete
* @since 2.5.0
[6104] Fix | Delete
*
[6105] Fix | Delete
* @global bool $is_apache
[6106] Fix | Delete
*
[6107] Fix | Delete
* @param string $mod The module, e.g. mod_rewrite.
[6108] Fix | Delete
* @param bool $default_value Optional. The default return value if the module is not found. Default false.
[6109] Fix | Delete
* @return bool Whether the specified module is loaded.
[6110] Fix | Delete
*/
[6111] Fix | Delete
function apache_mod_loaded( $mod, $default_value = false ) {
[6112] Fix | Delete
global $is_apache;
[6113] Fix | Delete
[6114] Fix | Delete
if ( ! $is_apache ) {
[6115] Fix | Delete
return false;
[6116] Fix | Delete
}
[6117] Fix | Delete
[6118] Fix | Delete
$loaded_mods = array();
[6119] Fix | Delete
[6120] Fix | Delete
if ( function_exists( 'apache_get_modules' ) ) {
[6121] Fix | Delete
$loaded_mods = apache_get_modules();
[6122] Fix | Delete
[6123] Fix | Delete
if ( in_array( $mod, $loaded_mods, true ) ) {
[6124] Fix | Delete
return true;
[6125] Fix | Delete
}
[6126] Fix | Delete
}
[6127] Fix | Delete
[6128] Fix | Delete
if ( empty( $loaded_mods )
[6129] Fix | Delete
&& function_exists( 'phpinfo' )
[6130] Fix | Delete
&& ! str_contains( ini_get( 'disable_functions' ), 'phpinfo' )
[6131] Fix | Delete
) {
[6132] Fix | Delete
ob_start();
[6133] Fix | Delete
phpinfo( INFO_MODULES );
[6134] Fix | Delete
$phpinfo = ob_get_clean();
[6135] Fix | Delete
[6136] Fix | Delete
if ( str_contains( $phpinfo, $mod ) ) {
[6137] Fix | Delete
return true;
[6138] Fix | Delete
}
[6139] Fix | Delete
}
[6140] Fix | Delete
[6141] Fix | Delete
return $default_value;
[6142] Fix | Delete
}
[6143] Fix | Delete
[6144] Fix | Delete
/**
[6145] Fix | Delete
* Checks if IIS 7+ supports pretty permalinks.
[6146] Fix | Delete
*
[6147] Fix | Delete
* @since 2.8.0
[6148] Fix | Delete
*
[6149] Fix | Delete
* @global bool $is_iis7
[6150] Fix | Delete
*
[6151] Fix | Delete
* @return bool Whether IIS7 supports permalinks.
[6152] Fix | Delete
*/
[6153] Fix | Delete
function iis7_supports_permalinks() {
[6154] Fix | Delete
global $is_iis7;
[6155] Fix | Delete
[6156] Fix | Delete
$supports_permalinks = false;
[6157] Fix | Delete
if ( $is_iis7 ) {
[6158] Fix | Delete
/* First we check if the DOMDocument class exists. If it does not exist, then we cannot
[6159] Fix | Delete
* easily update the xml configuration file, hence we just bail out and tell user that
[6160] Fix | Delete
* pretty permalinks cannot be used.
[6161] Fix | Delete
*
[6162] Fix | Delete
* Next we check if the URL Rewrite Module 1.1 is loaded and enabled for the website. When
[6163] Fix | Delete
* URL Rewrite 1.1 is loaded it always sets a server variable called 'IIS_UrlRewriteModule'.
[6164] Fix | Delete
* Lastly we make sure that PHP is running via FastCGI. This is important because if it runs
[6165] Fix | Delete
* via ISAPI then pretty permalinks will not work.
[6166] Fix | Delete
*/
[6167] Fix | Delete
$supports_permalinks = class_exists( 'DOMDocument', false ) && isset( $_SERVER['IIS_UrlRewriteModule'] ) && ( 'cgi-fcgi' === PHP_SAPI );
[6168] Fix | Delete
}
[6169] Fix | Delete
[6170] Fix | Delete
/**
[6171] Fix | Delete
* Filters whether IIS 7+ supports pretty permalinks.
[6172] Fix | Delete
*
[6173] Fix | Delete
* @since 2.8.0
[6174] Fix | Delete
*
[6175] Fix | Delete
* @param bool $supports_permalinks Whether IIS7 supports permalinks. Default false.
[6176] Fix | Delete
*/
[6177] Fix | Delete
return apply_filters( 'iis7_supports_permalinks', $supports_permalinks );
[6178] Fix | Delete
}
[6179] Fix | Delete
[6180] Fix | Delete
/**
[6181] Fix | Delete
* Validates a file name and path against an allowed set of rules.
[6182] Fix | Delete
*
[6183] Fix | Delete
* A return value of `1` means the file path contains directory traversal.
[6184] Fix | Delete
*
[6185] Fix | Delete
* A return value of `2` means the file path contains a Windows drive path.
[6186] Fix | Delete
*
[6187] Fix | Delete
* A return value of `3` means the file is not in the allowed files list.
[6188] Fix | Delete
*
[6189] Fix | Delete
* @since 1.2.0
[6190] Fix | Delete
*
[6191] Fix | Delete
* @param string $file File path.
[6192] Fix | Delete
* @param string[] $allowed_files Optional. Array of allowed files. Default empty array.
[6193] Fix | Delete
* @return int 0 means nothing is wrong, greater than 0 means something was wrong.
[6194] Fix | Delete
*/
[6195] Fix | Delete
function validate_file( $file, $allowed_files = array() ) {
[6196] Fix | Delete
if ( ! is_scalar( $file ) || '' === $file ) {
[6197] Fix | Delete
return 0;
[6198] Fix | Delete
}
[6199] Fix | Delete
[6200] Fix | Delete
// Normalize path for Windows servers.
[6201] Fix | Delete
$file = wp_normalize_path( $file );
[6202] Fix | Delete
// Normalize path for $allowed_files as well so it's an apples to apples comparison.
[6203] Fix | Delete
$allowed_files = array_map( 'wp_normalize_path', $allowed_files );
[6204] Fix | Delete
[6205] Fix | Delete
// `../` on its own is not allowed:
[6206] Fix | Delete
if ( '../' === $file ) {
[6207] Fix | Delete
return 1;
[6208] Fix | Delete
}
[6209] Fix | Delete
[6210] Fix | Delete
// More than one occurrence of `../` is not allowed:
[6211] Fix | Delete
if ( preg_match_all( '#\.\./#', $file, $matches, PREG_SET_ORDER ) && ( count( $matches ) > 1 ) ) {
[6212] Fix | Delete
return 1;
[6213] Fix | Delete
}
[6214] Fix | Delete
[6215] Fix | Delete
// `../` which does not occur at the end of the path is not allowed:
[6216] Fix | Delete
if ( str_contains( $file, '../' ) && '../' !== mb_substr( $file, -3, 3 ) ) {
[6217] Fix | Delete
return 1;
[6218] Fix | Delete
}
[6219] Fix | Delete
[6220] Fix | Delete
// Files not in the allowed file list are not allowed:
[6221] Fix | Delete
if ( ! empty( $allowed_files ) && ! in_array( $file, $allowed_files, true ) ) {
[6222] Fix | Delete
return 3;
[6223] Fix | Delete
}
[6224] Fix | Delete
[6225] Fix | Delete
// Absolute Windows drive paths are not allowed:
[6226] Fix | Delete
if ( ':' === substr( $file, 1, 1 ) ) {
[6227] Fix | Delete
return 2;
[6228] Fix | Delete
}
[6229] Fix | Delete
[6230] Fix | Delete
return 0;
[6231] Fix | Delete
}
[6232] Fix | Delete
[6233] Fix | Delete
/**
[6234] Fix | Delete
* Determines whether to force SSL used for the Administration Screens.
[6235] Fix | Delete
*
[6236] Fix | Delete
* @since 2.6.0
[6237] Fix | Delete
*
[6238] Fix | Delete
* @param string|bool $force Optional. Whether to force SSL in admin screens. Default null.
[6239] Fix | Delete
* @return bool True if forced, false if not forced.
[6240] Fix | Delete
*/
[6241] Fix | Delete
function force_ssl_admin( $force = null ) {
[6242] Fix | Delete
static $forced = false;
[6243] Fix | Delete
[6244] Fix | Delete
if ( ! is_null( $force ) ) {
[6245] Fix | Delete
$old_forced = $forced;
[6246] Fix | Delete
$forced = $force;
[6247] Fix | Delete
return $old_forced;
[6248] Fix | Delete
}
[6249] Fix | Delete
[6250] Fix | Delete
return $forced;
[6251] Fix | Delete
}
[6252] Fix | Delete
[6253] Fix | Delete
/**
[6254] Fix | Delete
* Guesses the URL for the site.
[6255] Fix | Delete
*
[6256] Fix | Delete
* Will remove wp-admin links to retrieve only return URLs not in the wp-admin
[6257] Fix | Delete
* directory.
[6258] Fix | Delete
*
[6259] Fix | Delete
* @since 2.6.0
[6260] Fix | Delete
*
[6261] Fix | Delete
* @return string The guessed URL.
[6262] Fix | Delete
*/
[6263] Fix | Delete
function wp_guess_url() {
[6264] Fix | Delete
if ( defined( 'WP_SITEURL' ) && '' !== WP_SITEURL ) {
[6265] Fix | Delete
$url = WP_SITEURL;
[6266] Fix | Delete
} else {
[6267] Fix | Delete
$abspath_fix = str_replace( '\\', '/', ABSPATH );
[6268] Fix | Delete
$script_filename_dir = dirname( $_SERVER['SCRIPT_FILENAME'] );
[6269] Fix | Delete
[6270] Fix | Delete
// The request is for the admin.
[6271] Fix | Delete
if ( str_contains( $_SERVER['REQUEST_URI'], 'wp-admin' ) || str_contains( $_SERVER['REQUEST_URI'], 'wp-login.php' ) ) {
[6272] Fix | Delete
$path = preg_replace( '#/(wp-admin/?.*|wp-login\.php.*)#i', '', $_SERVER['REQUEST_URI'] );
[6273] Fix | Delete
[6274] Fix | Delete
// The request is for a file in ABSPATH.
[6275] Fix | Delete
} elseif ( $script_filename_dir . '/' === $abspath_fix ) {
[6276] Fix | Delete
// Strip off any file/query params in the path.
[6277] Fix | Delete
$path = preg_replace( '#/[^/]*$#i', '', $_SERVER['PHP_SELF'] );
[6278] Fix | Delete
[6279] Fix | Delete
} else {
[6280] Fix | Delete
if ( str_contains( $_SERVER['SCRIPT_FILENAME'], $abspath_fix ) ) {
[6281] Fix | Delete
// Request is hitting a file inside ABSPATH.
[6282] Fix | Delete
$directory = str_replace( ABSPATH, '', $script_filename_dir );
[6283] Fix | Delete
// Strip off the subdirectory, and any file/query params.
[6284] Fix | Delete
$path = preg_replace( '#/' . preg_quote( $directory, '#' ) . '/[^/]*$#i', '', $_SERVER['REQUEST_URI'] );
[6285] Fix | Delete
} elseif ( str_contains( $abspath_fix, $script_filename_dir ) ) {
[6286] Fix | Delete
// Request is hitting a file above ABSPATH.
[6287] Fix | Delete
$subdirectory = substr( $abspath_fix, strpos( $abspath_fix, $script_filename_dir ) + strlen( $script_filename_dir ) );
[6288] Fix | Delete
// Strip off any file/query params from the path, appending the subdirectory to the installation.
[6289] Fix | Delete
$path = preg_replace( '#/[^/]*$#i', '', $_SERVER['REQUEST_URI'] ) . $subdirectory;
[6290] Fix | Delete
} else {
[6291] Fix | Delete
$path = $_SERVER['REQUEST_URI'];
[6292] Fix | Delete
}
[6293] Fix | Delete
}
[6294] Fix | Delete
[6295] Fix | Delete
$schema = is_ssl() ? 'https://' : 'http://'; // set_url_scheme() is not defined yet.
[6296] Fix | Delete
$url = $schema . $_SERVER['HTTP_HOST'] . $path;
[6297] Fix | Delete
}
[6298] Fix | Delete
[6299] Fix | Delete
return rtrim( $url, '/' );
[6300] Fix | Delete
}
[6301] Fix | Delete
[6302] Fix | Delete
/**
[6303] Fix | Delete
* Temporarily suspends cache additions.
[6304] Fix | Delete
*
[6305] Fix | Delete
* Stops more data being added to the cache, but still allows cache retrieval.
[6306] Fix | Delete
* This is useful for actions, such as imports, when a lot of data would otherwise
[6307] Fix | Delete
* be almost uselessly added to the cache.
[6308] Fix | Delete
*
[6309] Fix | Delete
* Suspension lasts for a single page load at most. Remember to call this
[6310] Fix | Delete
* function again if you wish to re-enable cache adds earlier.
[6311] Fix | Delete
*
[6312] Fix | Delete
* @since 3.3.0
[6313] Fix | Delete
*
[6314] Fix | Delete
* @param bool $suspend Optional. Suspends additions if true, re-enables them if false.
[6315] Fix | Delete
* Defaults to not changing the current setting.
[6316] Fix | Delete
* @return bool The current suspend setting.
[6317] Fix | Delete
*/
[6318] Fix | Delete
function wp_suspend_cache_addition( $suspend = null ) {
[6319] Fix | Delete
static $_suspend = false;
[6320] Fix | Delete
[6321] Fix | Delete
if ( is_bool( $suspend ) ) {
[6322] Fix | Delete
$_suspend = $suspend;
[6323] Fix | Delete
}
[6324] Fix | Delete
[6325] Fix | Delete
return $_suspend;
[6326] Fix | Delete
}
[6327] Fix | Delete
[6328] Fix | Delete
/**
[6329] Fix | Delete
* Suspends cache invalidation.
[6330] Fix | Delete
*
[6331] Fix | Delete
* Turns cache invalidation on and off. Useful during imports where you don't want to do
[6332] Fix | Delete
* invalidations every time a post is inserted. Callers must be sure that what they are
[6333] Fix | Delete
* doing won't lead to an inconsistent cache when invalidation is suspended.
[6334] Fix | Delete
*
[6335] Fix | Delete
* @since 2.7.0
[6336] Fix | Delete
*
[6337] Fix | Delete
* @global bool $_wp_suspend_cache_invalidation
[6338] Fix | Delete
*
[6339] Fix | Delete
* @param bool $suspend Optional. Whether to suspend or enable cache invalidation. Default true.
[6340] Fix | Delete
* @return bool The current suspend setting.
[6341] Fix | Delete
*/
[6342] Fix | Delete
function wp_suspend_cache_invalidation( $suspend = true ) {
[6343] Fix | Delete
global $_wp_suspend_cache_invalidation;
[6344] Fix | Delete
[6345] Fix | Delete
$current_suspend = $_wp_suspend_cache_invalidation;
[6346] Fix | Delete
$_wp_suspend_cache_invalidation = $suspend;
[6347] Fix | Delete
return $current_suspend;
[6348] Fix | Delete
}
[6349] Fix | Delete
[6350] Fix | Delete
/**
[6351] Fix | Delete
* Determines whether a site is the main site of the current network.
[6352] Fix | Delete
*
[6353] Fix | Delete
* @since 3.0.0
[6354] Fix | Delete
* @since 4.9.0 The `$network_id` parameter was added.
[6355] Fix | Delete
*
[6356] Fix | Delete
* @param int $site_id Optional. Site ID to test. Defaults to current site.
[6357] Fix | Delete
* @param int $network_id Optional. Network ID of the network to check for.
[6358] Fix | Delete
* Defaults to current network.
[6359] Fix | Delete
* @return bool True if $site_id is the main site of the network, or if not
[6360] Fix | Delete
* running Multisite.
[6361] Fix | Delete
*/
[6362] Fix | Delete
function is_main_site( $site_id = null, $network_id = null ) {
[6363] Fix | Delete
if ( ! is_multisite() ) {
[6364] Fix | Delete
return true;
[6365] Fix | Delete
}
[6366] Fix | Delete
[6367] Fix | Delete
if ( ! $site_id ) {
[6368] Fix | Delete
$site_id = get_current_blog_id();
[6369] Fix | Delete
}
[6370] Fix | Delete
[6371] Fix | Delete
$site_id = (int) $site_id;
[6372] Fix | Delete
[6373] Fix | Delete
return get_main_site_id( $network_id ) === $site_id;
[6374] Fix | Delete
}
[6375] Fix | Delete
[6376] Fix | Delete
/**
[6377] Fix | Delete
* Gets the main site ID.
[6378] Fix | Delete
*
[6379] Fix | Delete
* @since 4.9.0
[6380] Fix | Delete
*
[6381] Fix | Delete
* @param int $network_id Optional. The ID of the network for which to get the main site.
[6382] Fix | Delete
* Defaults to the current network.
[6383] Fix | Delete
* @return int The ID of the main site.
[6384] Fix | Delete
*/
[6385] Fix | Delete
function get_main_site_id( $network_id = null ) {
[6386] Fix | Delete
if ( ! is_multisite() ) {
[6387] Fix | Delete
return get_current_blog_id();
[6388] Fix | Delete
}
[6389] Fix | Delete
[6390] Fix | Delete
$network = get_network( $network_id );
[6391] Fix | Delete
if ( ! $network ) {
[6392] Fix | Delete
return 0;
[6393] Fix | Delete
}
[6394] Fix | Delete
[6395] Fix | Delete
return $network->site_id;
[6396] Fix | Delete
}
[6397] Fix | Delete
[6398] Fix | Delete
/**
[6399] Fix | Delete
* Determines whether a network is the main network of the Multisite installation.
[6400] Fix | Delete
*
[6401] Fix | Delete
* @since 3.7.0
[6402] Fix | Delete
*
[6403] Fix | Delete
* @param int $network_id Optional. Network ID to test. Defaults to current network.
[6404] Fix | Delete
* @return bool True if $network_id is the main network, or if not running Multisite.
[6405] Fix | Delete
*/
[6406] Fix | Delete
function is_main_network( $network_id = null ) {
[6407] Fix | Delete
if ( ! is_multisite() ) {
[6408] Fix | Delete
return true;
[6409] Fix | Delete
}
[6410] Fix | Delete
[6411] Fix | Delete
if ( null === $network_id ) {
[6412] Fix | Delete
$network_id = get_current_network_id();
[6413] Fix | Delete
}
[6414] Fix | Delete
[6415] Fix | Delete
$network_id = (int) $network_id;
[6416] Fix | Delete
[6417] Fix | Delete
return ( get_main_network_id() === $network_id );
[6418] Fix | Delete
}
[6419] Fix | Delete
[6420] Fix | Delete
/**
[6421] Fix | Delete
* Gets the main network ID.
[6422] Fix | Delete
*
[6423] Fix | Delete
* @since 4.3.0
[6424] Fix | Delete
*
[6425] Fix | Delete
* @return int The ID of the main network.
[6426] Fix | Delete
*/
[6427] Fix | Delete
function get_main_network_id() {
[6428] Fix | Delete
if ( ! is_multisite() ) {
[6429] Fix | Delete
return 1;
[6430] Fix | Delete
}
[6431] Fix | Delete
[6432] Fix | Delete
$current_network = get_network();
[6433] Fix | Delete
[6434] Fix | Delete
if ( defined( 'PRIMARY_NETWORK_ID' ) ) {
[6435] Fix | Delete
$main_network_id = PRIMARY_NETWORK_ID;
[6436] Fix | Delete
} elseif ( isset( $current_network->id ) && 1 === (int) $current_network->id ) {
[6437] Fix | Delete
// If the current network has an ID of 1, assume it is the main network.
[6438] Fix | Delete
$main_network_id = 1;
[6439] Fix | Delete
} else {
[6440] Fix | Delete
$_networks = get_networks(
[6441] Fix | Delete
array(
[6442] Fix | Delete
'fields' => 'ids',
[6443] Fix | Delete
'number' => 1,
[6444] Fix | Delete
)
[6445] Fix | Delete
);
[6446] Fix | Delete
$main_network_id = array_shift( $_networks );
[6447] Fix | Delete
}
[6448] Fix | Delete
[6449] Fix | Delete
/**
[6450] Fix | Delete
* Filters the main network ID.
[6451] Fix | Delete
*
[6452] Fix | Delete
* @since 4.3.0
[6453] Fix | Delete
*
[6454] Fix | Delete
* @param int $main_network_id The ID of the main network.
[6455] Fix | Delete
*/
[6456] Fix | Delete
return (int) apply_filters( 'get_main_network_id', $main_network_id );
[6457] Fix | Delete
}
[6458] Fix | Delete
[6459] Fix | Delete
/**
[6460] Fix | Delete
* Determines whether site meta is enabled.
[6461] Fix | Delete
*
[6462] Fix | Delete
* This function checks whether the 'blogmeta' database table exists. The result is saved as
[6463] Fix | Delete
* a setting for the main network, making it essentially a global setting. Subsequent requests
[6464] Fix | Delete
* will refer to this setting instead of running the query.
[6465] Fix | Delete
*
[6466] Fix | Delete
* @since 5.1.0
[6467] Fix | Delete
*
[6468] Fix | Delete
* @global wpdb $wpdb WordPress database abstraction object.
[6469] Fix | Delete
*
[6470] Fix | Delete
* @return bool True if site meta is supported, false otherwise.
[6471] Fix | Delete
*/
[6472] Fix | Delete
function is_site_meta_supported() {
[6473] Fix | Delete
global $wpdb;
[6474] Fix | Delete
[6475] Fix | Delete
if ( ! is_multisite() ) {
[6476] Fix | Delete
return false;
[6477] Fix | Delete
}
[6478] Fix | Delete
[6479] Fix | Delete
$network_id = get_main_network_id();
[6480] Fix | Delete
[6481] Fix | Delete
$supported = get_network_option( $network_id, 'site_meta_supported', false );
[6482] Fix | Delete
if ( false === $supported ) {
[6483] Fix | Delete
$supported = $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->blogmeta}'" ) ? 1 : 0;
[6484] Fix | Delete
[6485] Fix | Delete
update_network_option( $network_id, 'site_meta_supported', $supported );
[6486] Fix | Delete
}
[6487] Fix | Delete
[6488] Fix | Delete
return (bool) $supported;
[6489] Fix | Delete
}
[6490] Fix | Delete
[6491] Fix | Delete
/**
[6492] Fix | Delete
* Modifies gmt_offset for smart timezone handling.
[6493] Fix | Delete
*
[6494] Fix | Delete
* Overrides the gmt_offset option if we have a timezone_string available.
[6495] Fix | Delete
*
[6496] Fix | Delete
* @since 2.8.0
[6497] Fix | Delete
*
[6498] Fix | Delete
* @return float|false Timezone GMT offset, false otherwise.
[6499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function