X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..e3ff8f35458a959c1879c0a4976701ed8dcfe651:/wp-includes/default-constants.php diff --git a/wp-includes/default-constants.php b/wp-includes/default-constants.php index 4e5daabd..b8a73bc0 100644 --- a/wp-includes/default-constants.php +++ b/wp-includes/default-constants.php @@ -11,37 +11,56 @@ * @see wp_debug_mode() * * @since 3.0.0 + * + * @global int $blog_id */ -function wp_initial_constants( ) { +function wp_initial_constants() { global $blog_id; - // set memory limits - if ( !defined('WP_MEMORY_LIMIT') ) { - if( is_multisite() ) { - define('WP_MEMORY_LIMIT', '64M'); + /**#@+ + * Constants for expressing human-readable data sizes in their respective number of bytes. + * + * @since 4.4.0 + */ + define( 'KB_IN_BYTES', 1024 ); + define( 'MB_IN_BYTES', 1024 * KB_IN_BYTES ); + define( 'GB_IN_BYTES', 1024 * MB_IN_BYTES ); + define( 'TB_IN_BYTES', 1024 * GB_IN_BYTES ); + /**#@-*/ + + $current_limit = @ini_get( 'memory_limit' ); + $current_limit_int = wp_convert_hr_to_bytes( $current_limit ); + + // Define memory limits. + if ( ! defined( 'WP_MEMORY_LIMIT' ) ) { + if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) { + define( 'WP_MEMORY_LIMIT', $current_limit ); + } elseif ( is_multisite() ) { + define( 'WP_MEMORY_LIMIT', '64M' ); } else { - define('WP_MEMORY_LIMIT', '32M'); + define( 'WP_MEMORY_LIMIT', '40M' ); } } if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) { - define( 'WP_MAX_MEMORY_LIMIT', '256M' ); + if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) { + define( 'WP_MAX_MEMORY_LIMIT', $current_limit ); + } elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) { + define( 'WP_MAX_MEMORY_LIMIT', $current_limit ); + } else { + define( 'WP_MAX_MEMORY_LIMIT', '256M' ); + } + } + + // Set memory limits. + $wp_limit_int = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT ); + if ( -1 !== $current_limit_int && ( -1 === $wp_limit_int || $wp_limit_int > $current_limit_int ) ) { + @ini_set( 'memory_limit', WP_MEMORY_LIMIT ); } - /** - * The $blog_id global, which you can change in the config allows you to create a simple - * multiple blog installation using just one WordPress and changing $blog_id around. - * - * @global int $blog_id - * @since 2.0.0 - */ if ( ! isset($blog_id) ) $blog_id = 1; - // set memory limits. - if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) ) - @ini_set('memory_limit', WP_MEMORY_LIMIT); - if ( !defined('WP_CONTENT_DIR') ) define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down @@ -61,6 +80,18 @@ function wp_initial_constants( ) { if ( !defined('WP_CACHE') ) define('WP_CACHE', false); + // Add define('SCRIPT_DEBUG', true); to wp-config.php to enable loading of non-minified, + // non-concatenated scripts and stylesheets. + if ( ! defined( 'SCRIPT_DEBUG' ) ) { + if ( ! empty( $GLOBALS['wp_version'] ) ) { + $develop_src = false !== strpos( $GLOBALS['wp_version'], '-src' ); + } else { + $develop_src = false; + } + + define( 'SCRIPT_DEBUG', $develop_src ); + } + /** * Private */ @@ -69,6 +100,30 @@ function wp_initial_constants( ) { if ( !defined('SHORTINIT') ) define('SHORTINIT', false); + + // Constants for features added to WP that should short-circuit their plugin implementations + define( 'WP_FEATURE_BETTER_PASSWORDS', true ); + + /**#@+ + * Constants for expressing human-readable intervals + * in their respective number of seconds. + * + * Please note that these values are approximate and are provided for convenience. + * For example, MONTH_IN_SECONDS wrongly assumes every month has 30 days and + * YEAR_IN_SECONDS does not take leap years into account. + * + * If you need more accuracy please consider using the DateTime class (https://secure.php.net/manual/en/class.datetime.php). + * + * @since 3.5.0 + * @since 4.4.0 Introduced `MONTH_IN_SECONDS`. + */ + define( 'MINUTE_IN_SECONDS', 60 ); + define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS ); + define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS ); + define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS ); + define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS ); + define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS ); + /**#@-*/ } /** @@ -78,7 +133,7 @@ function wp_initial_constants( ) { * * @since 3.0.0 */ -function wp_plugin_directory_constants( ) { +function wp_plugin_directory_constants() { if ( !defined('WP_CONTENT_URL') ) define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up @@ -136,20 +191,21 @@ function wp_plugin_directory_constants( ) { /** * Defines cookie related WordPress constants * - * Defines constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies(). + * Defines constants after multisite is loaded. * @since 3.0.0 */ -function wp_cookie_constants( ) { +function wp_cookie_constants() { /** * Used to guarantee unique hash cookies - * @since 1.5 + * + * @since 1.5.0 */ if ( !defined( 'COOKIEHASH' ) ) { $siteurl = get_site_option( 'siteurl' ); if ( $siteurl ) define( 'COOKIEHASH', md5( $siteurl ) ); else - define( 'COOKIEHASH', '' ); + define( 'COOKIEHASH', md5( wp_guess_url() ) ); } /** @@ -224,20 +280,26 @@ function wp_cookie_constants( ) { * * @since 3.0.0 */ -function wp_ssl_constants( ) { +function wp_ssl_constants() { /** * @since 2.6.0 */ - if ( !defined('FORCE_SSL_ADMIN') ) - define('FORCE_SSL_ADMIN', false); - force_ssl_admin(FORCE_SSL_ADMIN); + if ( !defined( 'FORCE_SSL_ADMIN' ) ) { + if ( 'https' === parse_url( get_option( 'siteurl' ), PHP_URL_SCHEME ) ) { + define( 'FORCE_SSL_ADMIN', true ); + } else { + define( 'FORCE_SSL_ADMIN', false ); + } + } + force_ssl_admin( FORCE_SSL_ADMIN ); /** * @since 2.6.0 + * @deprecated 4.0.0 */ - if ( !defined('FORCE_SSL_LOGIN') ) - define('FORCE_SSL_LOGIN', false); - force_ssl_login(FORCE_SSL_LOGIN); + if ( defined( 'FORCE_SSL_LOGIN' ) && FORCE_SSL_LOGIN ) { + force_ssl_admin( true ); + } } /** @@ -245,7 +307,7 @@ function wp_ssl_constants( ) { * * @since 3.0.0 */ -function wp_functionality_constants( ) { +function wp_functionality_constants() { /** * @since 2.5.0 */ @@ -273,7 +335,7 @@ function wp_functionality_constants( ) { * * @since 3.0.0 */ -function wp_templating_constants( ) { +function wp_templating_constants() { /** * Filesystem path to the current active template directory * @since 1.5.0 @@ -289,10 +351,12 @@ function wp_templating_constants( ) { /** * Slug of the default theme for this install. * Used as the default theme when installing new sites. - * Will be used as the fallback if the current theme doesn't exist. + * It will be used as the fallback if the current theme doesn't exist. + * * @since 3.0.0 + * @see WP_Theme::get_core_default_theme() */ if ( !defined('WP_DEFAULT_THEME') ) - define( 'WP_DEFAULT_THEME', 'twentyeleven' ); + define( 'WP_DEFAULT_THEME', 'twentyseventeen' ); }