Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 715 lines (614 sloc) 22.563 kB
0bc8613 b2config.php replaced with wp-config.sample.php
mikelittle authored
1 <?php
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
2 /**
3 * Used to setup and fix common variables and include
4 * the WordPress procedural and class library.
5 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
6 * You should not have to change this file and allows
7 * for some configuration in wp-config.php.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
8 *
9 * @package WordPress
10 */
11
5c2f29c Increase memory limit. Props darkdragon. see #3141
ryan authored
12 if ( !defined('WP_MEMORY_LIMIT') )
13 define('WP_MEMORY_LIMIT', '32M');
14
a5246f5 absint is not defined yet. see #4762
ryan authored
15 if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) )
5c2f29c Increase memory limit. Props darkdragon. see #3141
ryan authored
16 @ini_set('memory_limit', WP_MEMORY_LIMIT);
17
8b34959 Turn off magic_quotes_sybase. It prevents addslashes from escaping ba…
ryan authored
18 set_magic_quotes_runtime(0);
19 @ini_set('magic_quotes_sybase', 0);
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
20
2371043 Set default timezone. Props Denis-de-Bernardy. fixes #10940
ryan authored
21 if ( function_exists('date_default_timezone_set') )
22 date_default_timezone_set('UTC');
23
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
24 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
25 * Turn register globals off.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
26 *
27 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
28 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
29 * @return null Will return null if register_globals PHP directive was disabled
30 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
31 function wp_unregister_GLOBALS() {
32 if ( !ini_get('register_globals') )
33 return;
dce5220 Typos and more secure unsetting. Hat tip: Stefen Esser
matt authored
34
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
35 if ( isset($_REQUEST['GLOBALS']) )
36 die('GLOBALS overwrite attempt detected');
37
38 // Variables that shouldn't be unset
39 $noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
40
41 $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
321c310 Remove trailing whitespace
ryan authored
42 foreach ( $input as $k => $v )
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
43 if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) ) {
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
44 $GLOBALS[$k] = NULL;
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
45 unset($GLOBALS[$k]);
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
46 }
2919fe2 That last thing didn't work at all.
matt authored
47 }
877e6a7 Turn register globals off. Hat tip: Christian Schmidt
matt authored
48
321c310 Remove trailing whitespace
ryan authored
49 wp_unregister_GLOBALS();
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
50
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
51 unset( $wp_filter, $cache_lastcommentmodified, $cache_lastpostdate );
376ec4d Tweak
matt authored
52
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
53 /**
54 * The $blog_id global, which you can change in the config allows you to create a simple
55 * multiple blog installation using just one WordPress and changing $blog_id around.
56 *
57 * @global int $blog_id
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
58 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
59 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
60 if ( ! isset($blog_id) )
85723b8 Object caching, round one.
ryan authored
61 $blog_id = 1;
62
044d460 Improved $_SERVER['REQUEST_URI'] test for IIS, props ruslany, fixes #…
azaozz authored
63 // Fix for IIS when running with PHP ISAPI
64 if ( empty( $_SERVER['REQUEST_URI'] ) || ( php_sapi_name() != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) ) {
dd202ce Death to trailing tabs. Props Mark J. fixes #2405
ryan authored
65
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes …
markjaquith authored
66 // IIS Mod-Rewrite
67 if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
68 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
69 }
70 // IIS Isapi_Rewrite
71 else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
72 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
73 }
c698c97 IIS REQUEST_URI-setting fixes from snakefoot. fixes #5160 for trunk
markjaquith authored
74 else
75 {
a3a1f83 Use ORIG_PATH_INFO if PATH_INFO is not available. fixes #7058 for trunk
ryan authored
76 // Use ORIG_PATH_INFO if there is no PATH_INFO
77 if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
78 $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
79
c698c97 IIS REQUEST_URI-setting fixes from snakefoot. fixes #5160 for trunk
markjaquith authored
80 // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
8d6d1af Check if PATH_INFO is set to avoid undefined index errors. see #5160
ryan authored
81 if ( isset($_SERVER['PATH_INFO']) ) {
82 if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
83 $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
84 else
85 $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
86 }
87c4f3a Strip lines that contain only whitespace down to newlines.
ryan authored
87
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes …
markjaquith authored
88 // Append the query string if it exists and isn't null
89 if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
90 $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
91 }
720316d Do not touch REQUEST_URI if it is already set by the server.
rboren authored
92 }
12b4069 Fix REQUEST_URI construction for IIS. Bug 389. Patch from Dennis Wi…
rboren authored
93 }
a18a23e Work around IIS' lack of REQUEST_URI
saxmatt authored
94
c50e7da Fixes #1591 (again)
matt authored
95 // Fix for PHP as CGI hosts that set SCRIPT_FILENAME to something ending in php.cgi for all requests
c1ed565 Check if SCRIPT_FILENAME is set to avoid warnings. fixes #2227
ryan authored
96 if ( isset($_SERVER['SCRIPT_FILENAME']) && ( strpos($_SERVER['SCRIPT_FILENAME'], 'php.cgi') == strlen($_SERVER['SCRIPT_FILENAME']) - 7 ) )
c50e7da Fixes #1591 (again)
matt authored
97 $_SERVER['SCRIPT_FILENAME'] = $_SERVER['PATH_TRANSLATED'];
98
885ee8f This should fix permalinks, but may break the PHP as CGI funkiness again
matt authored
99 // Fix for Dreamhost and other PHP as CGI hosts
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props r…
markjaquith authored
100 if (strpos($_SERVER['SCRIPT_NAME'], 'php.cgi') !== false)
c50e7da Fixes #1591 (again)
matt authored
101 unset($_SERVER['PATH_INFO']);
102
38f4fca Move PHP_SELF setup to wp-settings.php. #2153
ryan authored
103 // Fix empty PHP_SELF
104 $PHP_SELF = $_SERVER['PHP_SELF'];
105 if ( empty($PHP_SELF) )
106 $_SERVER['PHP_SELF'] = $PHP_SELF = preg_replace("/(\?.*)?$/",'',$_SERVER["REQUEST_URI"]);
885ee8f This should fix permalinks, but may break the PHP as CGI funkiness again
matt authored
107
f3d0aae Require PHP 4.3
ryan authored
108 if ( version_compare( '4.3', phpversion(), '>' ) ) {
e122618 Fix typo in wp-settings.php. Props mictasm, fixes #7638
azaozz authored
109 die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %s but WordPress requires at least 4.3.'/*/WP_I18N_OLD_PHP*/, phpversion() ) );
629dde8 Actually check for PHP 4.2. Props nbachiyski. fixes #4336
rob1n authored
110 }
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
111
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
112 if ( !defined('WP_CONTENT_DIR') )
113 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down
114
c209f15 Don't die with 503 if WP_INSTALLING. Don't load plugins if WP_INSTALL…
ryan authored
115 if ( file_exists(ABSPATH . '.maintenance') && !defined('WP_INSTALLING') ) {
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
116 include(ABSPATH . '.maintenance');
117 // If the $upgrading timestamp is older than 10 minutes, don't die.
118 if ( ( time() - $upgrading ) < 600 ) {
119 if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
120 require_once( WP_CONTENT_DIR . '/maintenance.php' );
121 die();
122 }
0530546 Automatic upgrade, first cut. see #5560
ryan authored
123
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
124 $protocol = $_SERVER["SERVER_PROTOCOL"];
125 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
126 $protocol = 'HTTP/1.0';
127 header( "$protocol 503 Service Unavailable", true, 503 );
128 header( 'Content-Type: text/html; charset=utf-8' );
cd03493 Send Retry-After header when in maintenance mode, props sirzooro, fix…
azaozz authored
129 header( 'Retry-After: 600' );
0530546 Automatic upgrade, first cut. see #5560
ryan authored
130 ?>
131 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
132 <html xmlns="http://www.w3.org/1999/xhtml">
133 <head>
134 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
135 <title>Maintenance</title>
136
137 </head>
138 <body>
139 <h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1>
140 </body>
141 </html>
142 <?php
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
143 die();
144 }
0530546 Automatic upgrade, first cut. see #5560
ryan authored
145 }
146
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
147 if ( !extension_loaded('mysql') && !file_exists(WP_CONTENT_DIR . '/db.php') )
f42b96c Mark string that cannot be gettexted. Props nbachiyski. fixes #7074
ryan authored
148 die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ );
0d040b3 Sanity check mysql.
saxmatt authored
149
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
150 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
151 * PHP 4 standard microtime start capture.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
152 *
153 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
154 * @since 0.71
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
155 * @global int $timestart Seconds and Microseconds added together from when function is called.
156 * @return bool Always returns true.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
157 */
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
158 function timer_start() {
159 global $timestart;
160 $mtime = explode(' ', microtime() );
161 $mtime = $mtime[1] + $mtime[0];
162 $timestart = $mtime;
163 return true;
164 }
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
165
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
166 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
167 * Return and/or display the time from the page start to when function is called.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
168 *
169 * You can get the results and print them by doing:
170 * <code>
171 * $nTimePageTookToExecute = timer_stop();
172 * echo $nTimePageTookToExecute;
173 * </code>
174 *
175 * Or instead, you can do:
176 * <code>
177 * timer_stop(1);
178 * </code>
179 * which will do what the above does. If you need the result, you can assign it to a variable, but
180 * most cases, you only need to echo it.
181 *
6950e28 Fix @since for timer_start and timer_stop. See #5211.
westi authored
182 * @since 0.71
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
183 * @global int $timestart Seconds and Microseconds added together from when timer_start() is called
184 * @global int $timeend Seconds and Microseconds added together from when function is called
185 *
186 * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
187 * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
188 * @return float The "second.microsecond" finished time calculation
189 */
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
190 function timer_stop($display = 0, $precision = 3) { //if called like timer_stop(1), will echo $timetotal
191 global $timestart, $timeend;
192 $mtime = microtime();
193 $mtime = explode(' ',$mtime);
194 $mtime = $mtime[1] + $mtime[0];
195 $timeend = $mtime;
196 $timetotal = $timeend-$timestart;
4f6b825 Make sure number_format_i18n() is available before calling it in time…
markjaquith authored
197 $r = ( function_exists('number_format_i18n') ) ? number_format_i18n($timetotal, $precision) : number_format($timetotal, $precision);
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
198 if ( $display )
a9d23d4 allow timer_stop() to use number_format() when returning. Props mdaw…
markjaquith authored
199 echo $r;
200 return $r;
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
201 }
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
202 timer_start();
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
203
f3e26c6 s/WPDEBUG/WP_DEBUG/g Fixes #5033
westi authored
204 // Add define('WP_DEBUG',true); to wp-config.php to enable display of notices during development.
cdcb806 Add extra site debugging support to enable conditionally enable displ…
westi authored
205 if ( defined('WP_DEBUG') && WP_DEBUG == true ) {
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
206 error_reporting(E_ALL);
cdcb806 Add extra site debugging support to enable conditionally enable displ…
westi authored
207 // Add define('WP_DEBUG_DISPLAY', false); to wp-config.php to use the globally configured setting for display_errors and not force it to On
208 if ( ! defined('WP_DEBUG_DISPLAY') || WP_DEBUG_DISPLAY == true )
209 ini_set('display_errors', 1);
210 // Add define('WP_DEBUG_LOG', true); to enable php debug logging to WP_CONTENT_DIR/debug.log
211 if ( defined('WP_DEBUG_LOG') && WP_DEBUG_LOG == true ) {
212 ini_set('log_errors', 1);
213 ini_set('error_log', WP_CONTENT_DIR . '/debug.log');
214 }
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #315…
westi authored
215 } else {
e7941d7 Ensure WP_DEBUG is always defined and simplify the checks on it. Fixe…
westi authored
216 define('WP_DEBUG', false);
ee0bfee Error reporting fixes. Props Denis-de-Bernardy, jacobsantos. fixes #9…
ryan authored
217 if ( defined('E_RECOVERABLE_ERROR') )
218 error_reporting(E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR);
0c9e106 Update error_reporting configuration for newer version of PHP. Fixes …
westi authored
219 else
ee0bfee Error reporting fixes. Props Denis-de-Bernardy, jacobsantos. fixes #9…
ryan authored
220 error_reporting(E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING);
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #315…
westi authored
221 }
9b09572 Turn down error reporting.
saxmatt authored
222
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
223 // For an advanced caching plugin to use, static because you would only want one
a2c12cb Make sure WP_CACHE is true. Props nacin. fixes #10602
ryan authored
224 if ( defined('WP_CACHE') && WP_CACHE )
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
225 @include WP_CONTENT_DIR . '/advanced-cache.php';
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
226
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
227 /**
228 * Stores the location of the WordPress directory of functions, classes, and core content.
229 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
230 * @since 1.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
231 */
edc7d7c Installation cleanup.
saxmatt authored
232 define('WPINC', 'wp-includes');
54d7ccb make /languages/ directory default to /wp-content/languages/ with fal…
markjaquith authored
233
a5d9355 Revert 8562 (last was incorrect)
azaozz authored
234 if ( !defined('WP_LANG_DIR') ) {
235 /**
236 * Stores the location of the language directory. First looks for language folder in WP_CONTENT_DIR
237 * and uses that folder if it exists. Or it uses the "languages" folder in WPINC.
238 *
239 * @since 2.1.0
0c6394a Stop fatal error in post revisions when setting the include path is d…
azaozz authored
240 */
a5d9355 Revert 8562 (last was incorrect)
azaozz authored
241 if ( file_exists(WP_CONTENT_DIR . '/languages') && @is_dir(WP_CONTENT_DIR . '/languages') ) {
242 define('WP_LANG_DIR', WP_CONTENT_DIR . '/languages'); // no leading slash, no trailing slash, full path, not relative to ABSPATH
243 if (!defined('LANGDIR')) {
244 // Old static relative path maintained for limited backwards compatibility - won't work in some cases
245 define('LANGDIR', 'wp-content/languages');
246 }
247 } else {
248 define('WP_LANG_DIR', ABSPATH . WPINC . '/languages'); // no leading slash, no trailing slash, full path, not relative to ABSPATH
249 if (!defined('LANGDIR')) {
250 // Old relative path maintained for backwards compatibility
251 define('LANGDIR', WPINC . '/languages');
252 }
253 }
0c6394a Stop fatal error in post revisions when setting the include path is d…
azaozz authored
254 }
255
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers …
markjaquith authored
256 require (ABSPATH . WPINC . '/compat.php');
257 require (ABSPATH . WPINC . '/functions.php');
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
258 require (ABSPATH . WPINC . '/classes.php');
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers …
markjaquith authored
259
658d22d Store field types in wpdb object. Props mdawaffe. see #7171
ryan authored
260 require_wp_db();
261
262 if ( !empty($wpdb->error) )
263 dead_db();
264
cb712c9 Only list field types that are not strings. see #7171
ryan authored
265 /**
266 * Format specifiers for DB columns. Columns not listed here default to %s.
267 * @since 2.8.0
658d22d Store field types in wpdb object. Props mdawaffe. see #7171
ryan authored
268 * @see wpdb:$field_types
269 * @see wpdb:prepare()
270 * @see wpdb:insert()
271 * @see wpdb:update()
cb712c9 Only list field types that are not strings. see #7171
ryan authored
272 */
658d22d Store field types in wpdb object. Props mdawaffe. see #7171
ryan authored
273 $wpdb->field_types = array( 'post_author' => '%d', 'post_parent' => '%d', 'menu_order' => '%d', 'term_id' => '%d', 'term_group' => '%d', 'term_taxonomy_id' => '%d',
cb712c9 Only list field types that are not strings. see #7171
ryan authored
274 'parent' => '%d', 'count' => '%d','object_id' => '%d', 'term_order' => '%d', 'ID' => '%d', 'commment_ID' => '%d', 'comment_post_ID' => '%d', 'comment_parent' => '%d',
275 'user_id' => '%d', 'link_id' => '%d', 'link_owner' => '%d', 'link_rating' => '%d', 'option_id' => '%d', 'blog_id' => '%d', 'meta_id' => '%d', 'post_id' => '%d',
c188678 Use wpdb::insert() and update(). see #6836
ryan authored
276 'user_status' => '%d', 'umeta_id' => '%d', 'comment_karma' => '%d', 'comment_count' => '%d');
d6ee606 Add some default field types. see #7171
ryan authored
277
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
278 $prefix = $wpdb->set_prefix($table_prefix);
71a2674 Use $wpdb->prefix when defining table names
markjaquith authored
279
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
280 if ( is_wp_error($prefix) )
f42b96c Mark string that cannot be gettexted. Props nbachiyski. fixes #7074
ryan authored
281 wp_die(/*WP_I18N_BAD_PREFIX*/'<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.'/*/WP_I18N_BAD_PREFIX*/);
cde68f9 Exit gracefully with a warning if the table_prefix uses disallowed ch…
markjaquith authored
282
d2110af Define wp_clone() before loading the cache.
ryan authored
283 /**
284 * Copy an object.
285 *
286 * Returns a cloned copy of an object.
287 *
288 * @since 2.7.0
289 *
290 * @param object $object The object to clone
291 * @return object The cloned object
292 */
293 function wp_clone( $object ) {
294 static $can_clone;
295 if ( !isset( $can_clone ) ) {
296 $can_clone = version_compare( phpversion(), '5.0', '>=' );
297 }
298 return $can_clone ? clone( $object ) : $object;
299 }
300
f1d3350 Flag if using external object cache. see #9048
ryan authored
301 if ( file_exists(WP_CONTENT_DIR . '/object-cache.php') ) {
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
302 require_once (WP_CONTENT_DIR . '/object-cache.php');
f1d3350 Flag if using external object cache. see #9048
ryan authored
303 $_wp_using_ext_object_cache = true;
304 } else {
b3d3d73 Require once only. Props masquerade. fixes #4192
rob1n authored
305 require_once (ABSPATH . WPINC . '/cache.php');
f1d3350 Flag if using external object cache. see #9048
ryan authored
306 $_wp_using_ext_object_cache = false;
307 }
85723b8 Object caching, round one.
ryan authored
308
309 wp_cache_init();
58e47dc wp_cache_add_global_groups() and wp_cache_add_non_persistent_groups()…
ryan authored
310 if ( function_exists('wp_cache_add_global_groups') ) {
9ee06ea Introduce get/set/delete_site_transient(). Make theme_roots a site t…
ryan authored
311 wp_cache_add_global_groups(array ('users', 'userlogins', 'usermeta', 'site-transient'));
b666a1c Cache get_plugins() list. Props DD32. fixes #7113
ryan authored
312 wp_cache_add_non_persistent_groups(array( 'comment', 'counts', 'plugins' ));
58e47dc wp_cache_add_global_groups() and wp_cache_add_non_persistent_groups()…
ryan authored
313 }
85723b8 Object caching, round one.
ryan authored
314
6d7717e Move plugin API to plugin.php. #2525
ryan authored
315 require (ABSPATH . WPINC . '/plugin.php');
81e7d92 Some filter action and cleanup
saxmatt authored
316 require (ABSPATH . WPINC . '/default-filters.php');
5dfddd7 Switch to pomo lib. Support gettext contexts. Deprecate long form fu…
ryan authored
317 include_once(ABSPATH . WPINC . '/pomo/mo.php');
62927ab Remove wp- prefix from wp-l10n.php
ryan authored
318 require_once (ABSPATH . WPINC . '/l10n.php');
1bd4057 Bug fixes
saxmatt authored
319
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props r…
markjaquith authored
320 if ( !is_blog_installed() && (strpos($_SERVER['PHP_SELF'], 'install.php') === false && !defined('WP_INSTALLING')) ) {
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes…
markjaquith authored
321 if ( defined('WP_SITEURL') )
321c310 Remove trailing whitespace
ryan authored
322 $link = WP_SITEURL . '/wp-admin/install.php';
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes…
markjaquith authored
323 elseif (strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false)
324 $link = preg_replace('|/wp-admin/?.*?$|', '/', $_SERVER['PHP_SELF']) . 'wp-admin/install.php';
ca2815f If we're already in wp-admin don't recursive link
saxmatt authored
325 else
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes…
markjaquith authored
326 $link = preg_replace('|/[^/]+?$|', '/', $_SERVER['PHP_SELF']) . 'wp-admin/install.php';
327 require_once(ABSPATH . WPINC . '/kses.php');
328 require_once(ABSPATH . WPINC . '/pluggable.php');
090bee0 Load formatting.php before install redirect so that wp_redirect() can…
ryan authored
329 require_once(ABSPATH . WPINC . '/formatting.php');
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes…
markjaquith authored
330 wp_redirect($link);
331 die(); // have to die here ~ Mark
ca2815f If we're already in wp-admin don't recursive link
saxmatt authored
332 }
1bd4057 Bug fixes
saxmatt authored
333
c93efa8 Include file renames. #2525
ryan authored
334 require (ABSPATH . WPINC . '/formatting.php');
a6ade4a Role/capability system. Round one. Props: Owen Winkler
ryan authored
335 require (ABSPATH . WPINC . '/capabilities.php');
9303053 Move WP_Query and its wrapper functions to query.php. #2525
ryan authored
336 require (ABSPATH . WPINC . '/query.php');
40b2e61 Move theme functions to theme.php. #2525
ryan authored
337 require (ABSPATH . WPINC . '/theme.php');
c56e62f Move user functions to user.php. Relocate more post functions to pos…
ryan authored
338 require (ABSPATH . WPINC . '/user.php');
c67e70d First pass commentmeta implementation. See #2659 props scribu.
westi authored
339 require (ABSPATH . WPINC . '/meta.php');
c93efa8 Include file renames. #2525
ryan authored
340 require (ABSPATH . WPINC . '/general-template.php');
341 require (ABSPATH . WPINC . '/link-template.php');
c56e62f Move user functions to user.php. Relocate more post functions to pos…
ryan authored
342 require (ABSPATH . WPINC . '/author-template.php');
3c8ed76 Reworg post/page/attachment functions. #2525
ryan authored
343 require (ABSPATH . WPINC . '/post.php');
344 require (ABSPATH . WPINC . '/post-template.php');
0f5dc0f Reorg category functions. #2525
ryan authored
345 require (ABSPATH . WPINC . '/category.php');
346 require (ABSPATH . WPINC . '/category-template.php');
6027cfa Reorg comment functions. #2525
ryan authored
347 require (ABSPATH . WPINC . '/comment.php');
348 require (ABSPATH . WPINC . '/comment-template.php');
6970a75 Rewrite API additions and improvements from David House. #2433
ryan authored
349 require (ABSPATH . WPINC . '/rewrite.php');
c93efa8 Include file renames. #2525
ryan authored
350 require (ABSPATH . WPINC . '/feed.php');
19ea5fb Reorg bookmark functions. #2525
ryan authored
351 require (ABSPATH . WPINC . '/bookmark.php');
352 require (ABSPATH . WPINC . '/bookmark-template.php');
9dc65ab Cleaning up some includes.
saxmatt authored
353 require (ABSPATH . WPINC . '/kses.php');
fb1e531 Cron improvements from masquerade. #2425
ryan authored
354 require (ABSPATH . WPINC . '/cron.php');
2520d8e Include cleanups
saxmatt authored
355 require (ABSPATH . WPINC . '/version.php');
ca92bb4 Move deprecated functions to deprecated.php. #2520
ryan authored
356 require (ABSPATH . WPINC . '/deprecated.php');
4d49e98 Script loader from mdawaffe. #2701
ryan authored
357 require (ABSPATH . WPINC . '/script-loader.php');
634a33c Very rough initial commit of taxonomy for everyone's hacking pleasure…
ryan authored
358 require (ABSPATH . WPINC . '/taxonomy.php');
7c2dbb9 First pass at upgrade notification for core, see #1476. Also includes…
matt authored
359 require (ABSPATH . WPINC . '/update.php');
6fc031d Canonical URLs, first swing. Props to Scott Yang, Ryan and Matt. se…
markjaquith authored
360 require (ABSPATH . WPINC . '/canonical.php');
f529123 First pass at async upload, multi-upload, and gallery feature. Modifi…
matt authored
361 require (ABSPATH . WPINC . '/shortcodes.php');
833447d Image size options from tellyworth. fixes #5933
ryan authored
362 require (ABSPATH . WPINC . '/media.php');
3c99cfc HTTP POST and REQUEST API from jacobsantos. see #4779
ryan authored
363 require (ABSPATH . WPINC . '/http.php');
48000c9 Separate default widgets from widgets API. Always load API. fixes #9349
ryan authored
364 require (ABSPATH . WPINC . '/widgets.php');
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
365
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
366 if ( !defined('WP_CONTENT_URL') )
995fe00 Use siteurl instead of home. Props msi08. fixes #7050
ryan authored
367 define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
368
369 /**
370 * Allows for the plugins directory to be moved from the default location.
371 *
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
372 * @since 2.6.0
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
373 */
374 if ( !defined('WP_PLUGIN_DIR') )
375 define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); // full path, no trailing slash
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
376
377 /**
378 * Allows for the plugins directory to be moved from the default location.
379 *
380 * @since 2.6.0
381 */
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
382 if ( !defined('WP_PLUGIN_URL') )
383 define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); // full url, no trailing slash
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
384
385 /**
386 * Allows for the plugins directory to be moved from the default location.
387 *
388 * @since 2.1.0
389 */
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
390 if ( !defined('PLUGINDIR') )
391 define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH. For back compat.
392
545da15 Notice fixes from DD32. see #7509
ryan authored
393 /**
3bf4ed1 Support mu-plugins for 'Must Use' autoload plugins
ryan authored
394 * Allows for the mu-plugins directory to be moved from the default location.
395 *
396 * @since 2.8.0
397 */
398 if ( !defined('WPMU_PLUGIN_DIR') )
399 define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' ); // full path, no trailing slash
400
401 /**
402 * Allows for the mu-plugins directory to be moved from the default location.
403 *
404 * @since 2.8.0
405 */
406 if ( !defined('WPMU_PLUGIN_URL') )
407 define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/mu-plugins' ); // full url, no trailing slash
408
409 /**
410 * Allows for the mu-plugins directory to be moved from the default location.
411 *
412 * @since 2.8.0
413 */
e8b6fe7 Trim trailing whitespace
ryan authored
414 if ( !defined( 'MUPLUGINDIR' ) )
3bf4ed1 Support mu-plugins for 'Must Use' autoload plugins
ryan authored
415 define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); // Relative to ABSPATH. For back compat.
416
417 if ( is_dir( WPMU_PLUGIN_DIR ) ) {
418 if ( $dh = opendir( WPMU_PLUGIN_DIR ) ) {
419 while ( ( $plugin = readdir( $dh ) ) !== false ) {
420 if ( substr( $plugin, -4 ) == '.php' ) {
421 include_once( WPMU_PLUGIN_DIR . '/' . $plugin );
422 }
423 }
424 }
425 }
426 do_action('muplugins_loaded');
427
428 /**
545da15 Notice fixes from DD32. see #7509
ryan authored
429 * Used to guarantee unique hash cookies
430 * @since 1.5
431 */
432 define('COOKIEHASH', md5(get_option('siteurl')));
5c97b54 Smilie fix from Jaykul, changed fool's siteurl fix to use faster preg…
saxmatt authored
433
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
434 /**
54f091e Allow overriding the default secret key. Proy. Props nbachiyski. fixe…
ryan authored
435 * Should be exactly the same as the default value of SECRET_KEY in wp-config-sample.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
436 * @since 2.5.0
54f091e Allow overriding the default secret key. Proy. Props nbachiyski. fixe…
ryan authored
437 */
438 $wp_default_secret_key = 'put your unique phrase here';
439
440 /**
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
441 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
442 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
443 */
41afea2 Let advanced users override cookies.
matt authored
444 if ( !defined('USER_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
445 define('USER_COOKIE', 'wordpressuser_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
446
447 /**
448 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
449 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
450 */
41afea2 Let advanced users override cookies.
matt authored
451 if ( !defined('PASS_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
452 define('PASS_COOKIE', 'wordpresspass_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
453
454 /**
455 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
456 * @since 2.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
457 */
29ef8b6 New secure cookie protocol. see #5367
ryan authored
458 if ( !defined('AUTH_COOKIE') )
459 define('AUTH_COOKIE', 'wordpress_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
460
461 /**
462 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
463 * @since 2.6.0
9771ec5 First cut and better admin SSL support. see #7001
ryan authored
464 */
465 if ( !defined('SECURE_AUTH_COOKIE') )
466 define('SECURE_AUTH_COOKIE', 'wordpress_sec_' . COOKIEHASH);
467
468 /**
469 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
470 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. s…
ryan authored
471 */
472 if ( !defined('LOGGED_IN_COOKIE') )
473 define('LOGGED_IN_COOKIE', 'wordpress_logged_in_' . COOKIEHASH);
474
475 /**
476 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
477 * @since 2.3.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
478 */
2662be2 Inform the user when cookies are disabled and login fails. Fixed #203…
westi authored
479 if ( !defined('TEST_COOKIE') )
480 define('TEST_COOKIE', 'wordpress_test_cookie');
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
481
482 /**
483 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
484 * @since 1.2.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
485 */
41afea2 Let advanced users override cookies.
matt authored
486 if ( !defined('COOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
487 define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
488
489 /**
490 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
491 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
492 */
41afea2 Let advanced users override cookies.
matt authored
493 if ( !defined('SITECOOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
494 define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
495
496 /**
497 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
498 * @since 2.6.0
775ea98 Set auth cookie for plugins directory to support direct load plugin f…
ryan authored
499 */
500 if ( !defined('ADMIN_COOKIE_PATH') )
501 define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
502
503 /**
504 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
505 * @since 2.6.0
775ea98 Set auth cookie for plugins directory to support direct load plugin f…
ryan authored
506 */
507 if ( !defined('PLUGINS_COOKIE_PATH') )
508 define( 'PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL) );
509
510 /**
511 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
512 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
513 */
41afea2 Let advanced users override cookies.
matt authored
514 if ( !defined('COOKIE_DOMAIN') )
515 define('COOKIE_DOMAIN', false);
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. s…
ryan authored
516
517 /**
518 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
519 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. s…
ryan authored
520 */
521 if ( !defined('FORCE_SSL_ADMIN') )
522 define('FORCE_SSL_ADMIN', false);
523 force_ssl_admin(FORCE_SSL_ADMIN);
524
525 /**
526 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
527 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. s…
ryan authored
528 */
529 if ( !defined('FORCE_SSL_LOGIN') )
530 define('FORCE_SSL_LOGIN', false);
531 force_ssl_login(FORCE_SSL_LOGIN);
532
6e662d7 Move define of AUTOSAVE_INTERVAL to wp-settings so that it is availab…
ryan authored
533 /**
534 * It is possible to define this in wp-config.php
535 * @since 2.5.0
536 */
537 if ( !defined( 'AUTOSAVE_INTERVAL' ) )
538 define( 'AUTOSAVE_INTERVAL', 60 );
35b18e5 Trailing whitespace cleanup
ryan authored
539
39e4f05 Trash status updates for posts, pages, comments and attachments, prop…
azaozz authored
540 /**
541 * It is possible to define this in wp-config.php
542 * @since 2.9.0
543 */
544 if ( !defined( 'EMPTY_TRASH_DAYS' ) )
545 define( 'EMPTY_TRASH_DAYS', 30 );
41afea2 Let advanced users override cookies.
matt authored
546
9dc65ab Cleaning up some includes.
saxmatt authored
547 require (ABSPATH . WPINC . '/vars.php');
edc7d7c Installation cleanup.
saxmatt authored
548
ae5848d Register default taxonomies before theme functions are loaded to sati…
ryan authored
549 // make taxonomies available to plugins and themes
550 // @plugin authors: warning: this gets registered again on the init hook
551 create_initial_taxonomies();
552
c26991b Move hack file include.
saxmatt authored
553 // Check for hacks file if the option is enabled
9f1a7e4 Unset once we have included all the plugins to keep things tidy. Fix…
westi authored
554 if ( get_option('hack_file') ) {
555 if ( file_exists(ABSPATH . 'my-hacks.php') )
764f50b ABSPATH already has a trailing slash. Props Nazgul. fixes #4607
markjaquith authored
556 require(ABSPATH . 'my-hacks.php');
c26991b Move hack file include.
saxmatt authored
557 }
558
c664315 Active plugin filter, plugin deactivation array_splice() protection. …
markjaquith authored
559 $current_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins' ) );
62374e5 Require active plugin files to end in .php. Props hakre. fixes #9406
ryan authored
560 if ( is_array($current_plugins) && !defined('WP_INSTALLING') ) {
561 foreach ( $current_plugins as $plugin ) {
562 // check the $plugin filename
563 // Validate plugin filename
564 if ( validate_file($plugin) // $plugin must validate as file
565 || '.php' != substr($plugin, -4) // $plugin must end with '.php'
566 || !file_exists(WP_PLUGIN_DIR . '/' . $plugin) // $plugin must exist
567 )
568 continue;
569
570 include_once(WP_PLUGIN_DIR . '/' . $plugin);
e733249 Functional plugin implementation.
saxmatt authored
571 }
62374e5 Require active plugin files to end in .php. Props hakre. fixes #9406
ryan authored
572 unset($plugin);
e733249 Functional plugin implementation.
saxmatt authored
573 }
62374e5 Require active plugin files to end in .php. Props hakre. fixes #9406
ryan authored
574 unset($current_plugins);
1127059 shutdown action hook.
saxmatt authored
575
c93efa8 Include file renames. #2525
ryan authored
576 require (ABSPATH . WPINC . '/pluggable.php');
08b02d9 Move plugin replacebale functions to pluggable-functions.php. http:/…
ryan authored
577
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
578 /*
579 * In most cases the default internal encoding is latin1, which is of no use,
580 * since we want to use the mb_ functions for utf-8 strings
581 */
c2c7fa0 Make sure encoding is not empty. Props tenpura. see #6902
ryan authored
582 if (function_exists('mb_internal_encoding')) {
6e80433 Fallback to UTF-8 if not valid mb_internal_encoding. Props tenpura. f…
ryan authored
583 if (!@mb_internal_encoding(get_option('blog_charset')))
c2c7fa0 Make sure encoding is not empty. Props tenpura. see #6902
ryan authored
584 mb_internal_encoding('UTF-8');
585 }
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
586
587
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
588 if ( defined('WP_CACHE') && function_exists('wp_cache_postload') )
589 wp_cache_postload();
590
591 do_action('plugins_loaded');
592
3c8cb2b Revisioning for pages from mdawaffe. see #6775
ryan authored
593 $default_constants = array( 'WP_POST_REVISIONS' => true );
594 foreach ( $default_constants as $c => $v )
595 @define( $c, $v ); // will fail if the constant is already defined
596 unset($default_constants, $c, $v);
597
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
598 // If already slashed, strip.
599 if ( get_magic_quotes_gpc() ) {
6cbb6fe Stripslashes doesn't work on arrays. Add stripslashes_deep(). Props…
ryan authored
600 $_GET = stripslashes_deep($_GET );
601 $_POST = stripslashes_deep($_POST );
602 $_COOKIE = stripslashes_deep($_COOKIE);
65bbec7 Comments refactoring and cleanup
saxmatt authored
603 }
604
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
605 // Escape with wpdb.
606 $_GET = add_magic_quotes($_GET );
607 $_POST = add_magic_quotes($_POST );
608 $_COOKIE = add_magic_quotes($_COOKIE);
609 $_SERVER = add_magic_quotes($_SERVER);
610
a431376 Be consistent about slashing _REQUEST superglobal. props dd32. fixes …
markjaquith authored
611 // Force REQUEST to be GET + POST. If SERVER, COOKIE, or ENV are needed, use those superglobals directly.
612 $_REQUEST = array_merge($_GET, $_POST);
613
1034767 wp_get_current_commenter()
ryan authored
614 do_action('sanitize_comment_cookies');
615
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
616 /**
617 * WordPress Query object
618 * @global object $wp_the_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
619 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
620 */
22bee1c Preserve the original query object as wp_the_query so that it's not s…
ryan authored
621 $wp_the_query =& new WP_Query();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
622
623 /**
624 * Holds the reference to @see $wp_the_query
625 * Use this global for WordPress queries
626 * @global object $wp_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
627 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
628 */
22bee1c Preserve the original query object as wp_the_query so that it's not s…
ryan authored
629 $wp_query =& $wp_the_query;
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
630
631 /**
632 * Holds the WordPress Rewrite object for creating pretty URLs
633 * @global object $wp_rewrite
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
634 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
635 */
22bee1c Preserve the original query object as wp_the_query so that it's not s…
ryan authored
636 $wp_rewrite =& new WP_Rewrite();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
637
638 /**
639 * WordPress Object
640 * @global object $wp
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
641 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
642 */
22bee1c Preserve the original query object as wp_the_query so that it's not s…
ryan authored
643 $wp =& new WP();
1baf503 Break blog header up into functional chunks. Stick it all in a WP cl…
ryan authored
644
1eab8fc Introduce singleton widget factory
ryan authored
645 /**
646 * WordPress Widget Factory Object
647 * @global object $wp_widget_factory
648 * @since 2.8.0
649 */
650 $wp_widget_factory =& new WP_Widget_Factory();
651
bc07ef1 Theme preview and thickbox CSS cleanup. Props azaozz. see #5486
ryan authored
652 do_action('setup_theme');
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
653
654 /**
655 * Web Path to the current active template directory
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
656 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
657 */
98aa7f5 Rearrange load order. Init classes before loading the text domain an…
ryan authored
658 define('TEMPLATEPATH', get_template_directory());
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
659
660 /**
661 * Web Path to the current active template stylesheet directory
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
662 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
663 */
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoa…
ryan authored
664 define('STYLESHEETPATH', get_stylesheet_directory());
98aa7f5 Rearrange load order. Init classes before loading the text domain an…
ryan authored
665
666 // Load the default text localization domain.
667 load_default_textdomain();
668
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
669 /**
670 * The locale of the blog
671 * @since 1.5.0
672 */
3e26469 Load locale specific php code in global context. fixes #3488
ryan authored
673 $locale = get_locale();
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
674 $locale_file = WP_LANG_DIR . "/$locale.php";
3e26469 Load locale specific php code in global context. fixes #3488
ryan authored
675 if ( is_readable($locale_file) )
676 require_once($locale_file);
677
98aa7f5 Rearrange load order. Init classes before loading the text domain an…
ryan authored
678 // Pull in locale data after loading text domain.
679 require_once(ABSPATH . WPINC . '/locale.php');
680
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
681 /**
682 * WordPress Locale object for loading locale domain date and various strings.
683 * @global object $wp_locale
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
684 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
685 */
92421de Ref more singletons.
ryan authored
686 $wp_locale =& new WP_Locale();
3d2347a WP_Locale. Props Sewar. fixes #2568
ryan authored
687
c369310 Better support for theme plugins. add_theme_page() and active theme …
ryan authored
688 // Load functions for active theme.
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoa…
ryan authored
689 if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists(STYLESHEETPATH . '/functions.php') )
690 include(STYLESHEETPATH . '/functions.php');
691 if ( file_exists(TEMPLATEPATH . '/functions.php') )
692 include(TEMPLATEPATH . '/functions.php');
c369310 Better support for theme plugins. add_theme_page() and active theme …
ryan authored
693
7251aff Introduce require_if_theme_supports(), move post thumbnails functions…
westi authored
694 // Load in support for template functions which the theme supports
695 require_if_theme_supports( 'post-thumbnails', ABSPATH . WPINC . '/post-image-template.php' );
696
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
697 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
698 * Runs just before PHP shuts down execution.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
699 *
700 * @access private
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
701 * @since 1.2.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
702 */
98aa7f5 Rearrange load order. Init classes before loading the text domain an…
ryan authored
703 function shutdown_action_hook() {
704 do_action('shutdown');
84da5fc Save cache after the shutdown hook runs. fixes #2232
ryan authored
705 wp_cache_close();
98aa7f5 Rearrange load order. Init classes before loading the text domain an…
ryan authored
706 }
707 register_shutdown_function('shutdown_action_hook');
708
251ad30 Call WP::init() just before kicking the init action so that the curre…
ryan authored
709 $wp->init(); // Sets up current user.
710
1baf503 Break blog header up into functional chunks. Stick it all in a WP cl…
ryan authored
711 // Everything is loaded and initialized.
9838608 Allow multiple args to be passed to apply_filters and do_action. Mov…
rboren authored
712 do_action('init');
06a0fc3 Formatting
matt authored
713
629dde8 Actually check for PHP 4.2. Props nbachiyski. fixes #4336
rob1n authored
714 ?>
Something went wrong with that request. Please try again.