Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 604 lines (515 sloc) 18.695 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
095e27c Turn off magic_quotes_sybase. It prevents addslashes from escaping backs...
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
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
21 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
22 * Turn register globals off.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
23 *
24 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
25 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
26 * @return null Will return null if register_globals PHP directive was disabled
27 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
28 function wp_unregister_GLOBALS() {
29 if ( !ini_get('register_globals') )
30 return;
dce5220 Typos and more secure unsetting. Hat tip: Stefen Esser
matt authored
31
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
32 if ( isset($_REQUEST['GLOBALS']) )
33 die('GLOBALS overwrite attempt detected');
34
35 // Variables that shouldn't be unset
36 $noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
37
38 $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
321c310 Remove trailing whitespace
ryan authored
39 foreach ( $input as $k => $v )
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
40 if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) ) {
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
41 $GLOBALS[$k] = NULL;
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
42 unset($GLOBALS[$k]);
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
43 }
2919fe2 That last thing didn't work at all.
matt authored
44 }
877e6a7 Turn register globals off. Hat tip: Christian Schmidt
matt authored
45
321c310 Remove trailing whitespace
ryan authored
46 wp_unregister_GLOBALS();
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
47
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
48 unset( $wp_filter, $cache_lastcommentmodified, $cache_lastpostdate );
376ec4d Tweak
matt authored
49
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
50 /**
51 * The $blog_id global, which you can change in the config allows you to create a simple
52 * multiple blog installation using just one WordPress and changing $blog_id around.
53 *
54 * @global int $blog_id
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
55 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
56 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
57 if ( ! isset($blog_id) )
85723b8 Object caching, round one.
ryan authored
58 $blog_id = 1;
59
a18a23e Work around IIS' lack of REQUEST_URI
saxmatt authored
60 // Fix for IIS, which doesn't set REQUEST_URI
40a7d9d Fixes #1488
matt authored
61 if ( empty( $_SERVER['REQUEST_URI'] ) ) {
dd202ce Death to trailing tabs. Props Mark J. fixes #2405
ryan authored
62
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes #35...
markjaquith authored
63 // IIS Mod-Rewrite
64 if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
65 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
66 }
67 // IIS Isapi_Rewrite
68 else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
69 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
70 }
c698c97 IIS REQUEST_URI-setting fixes from snakefoot. fixes #5160 for trunk
markjaquith authored
71 else
72 {
a3a1f83 Use ORIG_PATH_INFO if PATH_INFO is not available. fixes #7058 for trunk
ryan authored
73 // Use ORIG_PATH_INFO if there is no PATH_INFO
74 if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
75 $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
76
c698c97 IIS REQUEST_URI-setting fixes from snakefoot. fixes #5160 for trunk
markjaquith authored
77 // 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
78 if ( isset($_SERVER['PATH_INFO']) ) {
79 if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
80 $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
81 else
82 $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
83 }
87c4f3a Strip lines that contain only whitespace down to newlines.
ryan authored
84
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes #35...
markjaquith authored
85 // Append the query string if it exists and isn't null
86 if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
87 $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
88 }
720316d Do not touch REQUEST_URI if it is already set by the server.
rboren authored
89 }
12b4069 Fix REQUEST_URI construction for IIS. Bug 389. Patch from Dennis Willi...
rboren authored
90 }
a18a23e Work around IIS' lack of REQUEST_URI
saxmatt authored
91
c50e7da Fixes #1591 (again)
matt authored
92 // 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
93 if ( isset($_SERVER['SCRIPT_FILENAME']) && ( strpos($_SERVER['SCRIPT_FILENAME'], 'php.cgi') == strlen($_SERVER['SCRIPT_FILENAME']) - 7 ) )
c50e7da Fixes #1591 (again)
matt authored
94 $_SERVER['SCRIPT_FILENAME'] = $_SERVER['PATH_TRANSLATED'];
95
885ee8f This should fix permalinks, but may break the PHP as CGI funkiness again
matt authored
96 // Fix for Dreamhost and other PHP as CGI hosts
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
97 if (strpos($_SERVER['SCRIPT_NAME'], 'php.cgi') !== false)
c50e7da Fixes #1591 (again)
matt authored
98 unset($_SERVER['PATH_INFO']);
99
38f4fca Move PHP_SELF setup to wp-settings.php. #2153
ryan authored
100 // Fix empty PHP_SELF
101 $PHP_SELF = $_SERVER['PHP_SELF'];
102 if ( empty($PHP_SELF) )
103 $_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
104
f3d0aae Require PHP 4.3
ryan authored
105 if ( version_compare( '4.3', phpversion(), '>' ) ) {
e122618 Fix typo in wp-settings.php. Props mictasm, fixes #7638
azaozz authored
106 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
107 }
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
108
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
109 if ( !defined('WP_CONTENT_DIR') )
110 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down
111
c209f15 Don't die with 503 if WP_INSTALLING. Don't load plugins if WP_INSTALLING...
ryan authored
112 if ( file_exists(ABSPATH . '.maintenance') && !defined('WP_INSTALLING') ) {
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
113 include(ABSPATH . '.maintenance');
114 // If the $upgrading timestamp is older than 10 minutes, don't die.
115 if ( ( time() - $upgrading ) < 600 ) {
116 if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
117 require_once( WP_CONTENT_DIR . '/maintenance.php' );
118 die();
119 }
0530546 Automatic upgrade, first cut. see #5560
ryan authored
120
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
121 $protocol = $_SERVER["SERVER_PROTOCOL"];
122 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
123 $protocol = 'HTTP/1.0';
124 header( "$protocol 503 Service Unavailable", true, 503 );
125 header( 'Content-Type: text/html; charset=utf-8' );
0530546 Automatic upgrade, first cut. see #5560
ryan authored
126 ?>
127 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
128 <html xmlns="http://www.w3.org/1999/xhtml">
129 <head>
130 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
131 <title>Maintenance</title>
132
133 </head>
134 <body>
135 <h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1>
136 </body>
137 </html>
138 <?php
d7fccb6 Sanitation and error handling for plugin install. Props DD32. see #6015
ryan authored
139 die();
140 }
0530546 Automatic upgrade, first cut. see #5560
ryan authored
141 }
142
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
143 if ( !extension_loaded('mysql') && !file_exists(WP_CONTENT_DIR . '/db.php') )
f42b96c Mark string that cannot be gettexted. Props nbachiyski. fixes #7074
ryan authored
144 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
145
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
146 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
147 * PHP 4 standard microtime start capture.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
148 *
149 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
150 * @since 0.71
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
151 * @global int $timestart Seconds and Microseconds added together from when function is called.
152 * @return bool Always returns true.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
153 */
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
154 function timer_start() {
155 global $timestart;
156 $mtime = explode(' ', microtime() );
157 $mtime = $mtime[1] + $mtime[0];
158 $timestart = $mtime;
159 return true;
160 }
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
161
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
162 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
163 * 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
164 *
165 * You can get the results and print them by doing:
166 * <code>
167 * $nTimePageTookToExecute = timer_stop();
168 * echo $nTimePageTookToExecute;
169 * </code>
170 *
171 * Or instead, you can do:
172 * <code>
173 * timer_stop(1);
174 * </code>
175 * which will do what the above does. If you need the result, you can assign it to a variable, but
176 * most cases, you only need to echo it.
177 *
6950e28 Fix @since for timer_start and timer_stop. See #5211.
westi authored
178 * @since 0.71
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
179 * @global int $timestart Seconds and Microseconds added together from when timer_start() is called
180 * @global int $timeend Seconds and Microseconds added together from when function is called
181 *
182 * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
183 * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
184 * @return float The "second.microsecond" finished time calculation
185 */
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
186 function timer_stop($display = 0, $precision = 3) { //if called like timer_stop(1), will echo $timetotal
187 global $timestart, $timeend;
188 $mtime = microtime();
189 $mtime = explode(' ',$mtime);
190 $mtime = $mtime[1] + $mtime[0];
191 $timeend = $mtime;
192 $timetotal = $timeend-$timestart;
4f6b825 Make sure number_format_i18n() is available before calling it in timer_s...
markjaquith authored
193 $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
194 if ( $display )
a9d23d4 allow timer_stop() to use number_format() when returning. Props mdawaff...
markjaquith authored
195 echo $r;
196 return $r;
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
197 }
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
198 timer_start();
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
199
f3e26c6 s/WPDEBUG/WP_DEBUG/g Fixes #5033
westi authored
200 // Add define('WP_DEBUG',true); to wp-config.php to enable display of notices during development.
201 if (defined('WP_DEBUG') and WP_DEBUG == true) {
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
202 error_reporting(E_ALL);
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #3155. ...
westi authored
203 } else {
de5b342 Error reporting (again). For 2.7.x, See #8701 props jacobsantos.
westi authored
204 // Unicode Extension is in PHP 6.0 only or do version check when this changes.
931052a Use the correct PHP6 check. See #8701 for 2.7.x
westi authored
205 if ( function_exists('unicode_decode') )
de5b342 Error reporting (again). For 2.7.x, See #8701 props jacobsantos.
westi authored
206 error_reporting( E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_USER_NOTICE ^ E_STRICT );
207 else if ( defined( 'E_DEPRECATED' ) ) // Introduced in PHP 5.3
208 error_reporting( E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_USER_NOTICE );
4617888 Update error_reporting configuration for newer version of PHP. Fixes #87...
westi authored
209 else
210 error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #3155. ...
westi authored
211 }
9b09572 Turn down error reporting.
saxmatt authored
212
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
213 // For an advanced caching plugin to use, static because you would only want one
214 if ( defined('WP_CACHE') )
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
215 @include WP_CONTENT_DIR . '/advanced-cache.php';
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
216
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
217 /**
218 * Stores the location of the WordPress directory of functions, classes, and core content.
219 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
220 * @since 1.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
221 */
edc7d7c Installation cleanup.
saxmatt authored
222 define('WPINC', 'wp-includes');
54d7ccb make /languages/ directory default to /wp-content/languages/ with fallba...
markjaquith authored
223
a5d9355 Revert 8562 (last was incorrect)
azaozz authored
224 if ( !defined('WP_LANG_DIR') ) {
225 /**
226 * Stores the location of the language directory. First looks for language folder in WP_CONTENT_DIR
227 * and uses that folder if it exists. Or it uses the "languages" folder in WPINC.
228 *
229 * @since 2.1.0
0c6394a Stop fatal error in post revisions when setting the include path is disa...
azaozz authored
230 */
a5d9355 Revert 8562 (last was incorrect)
azaozz authored
231 if ( file_exists(WP_CONTENT_DIR . '/languages') && @is_dir(WP_CONTENT_DIR . '/languages') ) {
232 define('WP_LANG_DIR', WP_CONTENT_DIR . '/languages'); // no leading slash, no trailing slash, full path, not relative to ABSPATH
233 if (!defined('LANGDIR')) {
234 // Old static relative path maintained for limited backwards compatibility - won't work in some cases
235 define('LANGDIR', 'wp-content/languages');
236 }
237 } else {
238 define('WP_LANG_DIR', ABSPATH . WPINC . '/languages'); // no leading slash, no trailing slash, full path, not relative to ABSPATH
239 if (!defined('LANGDIR')) {
240 // Old relative path maintained for backwards compatibility
241 define('LANGDIR', WPINC . '/languages');
242 }
243 }
0c6394a Stop fatal error in post revisions when setting the include path is disa...
azaozz authored
244 }
245
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers so ...
markjaquith authored
246 require (ABSPATH . WPINC . '/compat.php');
247 require (ABSPATH . WPINC . '/functions.php');
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
248 require (ABSPATH . WPINC . '/classes.php');
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers so ...
markjaquith authored
249
61f8b8f Move database class loading to a shared function to ensure all of WordPr...
westi authored
250 require_wp_db();
e8dc869 Custom DB error page. fixes #5500 for 2.4
ryan authored
251
252 if ( !empty($wpdb->error) )
253 dead_db();
254
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
255 $prefix = $wpdb->set_prefix($table_prefix);
71a2674 Use $wpdb->prefix when defining table names
markjaquith authored
256
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
257 if ( is_wp_error($prefix) )
f42b96c Mark string that cannot be gettexted. Props nbachiyski. fixes #7074
ryan authored
258 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 chars...
markjaquith authored
259
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
260 if ( file_exists(WP_CONTENT_DIR . '/object-cache.php') )
261 require_once (WP_CONTENT_DIR . '/object-cache.php');
85723b8 Object caching, round one.
ryan authored
262 else
b3d3d73 Require once only. Props masquerade. fixes #4192
rob1n authored
263 require_once (ABSPATH . WPINC . '/cache.php');
85723b8 Object caching, round one.
ryan authored
264
265 wp_cache_init();
58e47dc wp_cache_add_global_groups() and wp_cache_add_non_persistent_groups(). f...
ryan authored
266 if ( function_exists('wp_cache_add_global_groups') ) {
267 wp_cache_add_global_groups(array ('users', 'userlogins', 'usermeta'));
b666a1c Cache get_plugins() list. Props DD32. fixes #7113
ryan authored
268 wp_cache_add_non_persistent_groups(array( 'comment', 'counts', 'plugins' ));
58e47dc wp_cache_add_global_groups() and wp_cache_add_non_persistent_groups(). f...
ryan authored
269 }
85723b8 Object caching, round one.
ryan authored
270
6d7717e Move plugin API to plugin.php. #2525
ryan authored
271 require (ABSPATH . WPINC . '/plugin.php');
81e7d92 Some filter action and cleanup
saxmatt authored
272 require (ABSPATH . WPINC . '/default-filters.php');
acc5602 Always load gettext.
ryan authored
273 include_once(ABSPATH . WPINC . '/streams.php');
274 include_once(ABSPATH . WPINC . '/gettext.php');
62927ab Remove wp- prefix from wp-l10n.php
ryan authored
275 require_once (ABSPATH . WPINC . '/l10n.php');
1bd4057 Bug fixes
saxmatt authored
276
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
277 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 #4...
markjaquith authored
278 if ( defined('WP_SITEURL') )
321c310 Remove trailing whitespace
ryan authored
279 $link = WP_SITEURL . '/wp-admin/install.php';
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes #4...
markjaquith authored
280 elseif (strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false)
281 $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
282 else
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes #4...
markjaquith authored
283 $link = preg_replace('|/[^/]+?$|', '/', $_SERVER['PHP_SELF']) . 'wp-admin/install.php';
284 require_once(ABSPATH . WPINC . '/kses.php');
285 require_once(ABSPATH . WPINC . '/pluggable.php');
286 wp_redirect($link);
287 die(); // have to die here ~ Mark
ca2815f If we're already in wp-admin don't recursive link
saxmatt authored
288 }
1bd4057 Bug fixes
saxmatt authored
289
c93efa8 Include file renames. #2525
ryan authored
290 require (ABSPATH . WPINC . '/formatting.php');
a6ade4a Role/capability system. Round one. Props: Owen Winkler
ryan authored
291 require (ABSPATH . WPINC . '/capabilities.php');
9303053 Move WP_Query and its wrapper functions to query.php. #2525
ryan authored
292 require (ABSPATH . WPINC . '/query.php');
40b2e61 Move theme functions to theme.php. #2525
ryan authored
293 require (ABSPATH . WPINC . '/theme.php');
c56e62f Move user functions to user.php. Relocate more post functions to post.p...
ryan authored
294 require (ABSPATH . WPINC . '/user.php');
c93efa8 Include file renames. #2525
ryan authored
295 require (ABSPATH . WPINC . '/general-template.php');
296 require (ABSPATH . WPINC . '/link-template.php');
c56e62f Move user functions to user.php. Relocate more post functions to post.p...
ryan authored
297 require (ABSPATH . WPINC . '/author-template.php');
3c8ed76 Reworg post/page/attachment functions. #2525
ryan authored
298 require (ABSPATH . WPINC . '/post.php');
299 require (ABSPATH . WPINC . '/post-template.php');
0f5dc0f Reorg category functions. #2525
ryan authored
300 require (ABSPATH . WPINC . '/category.php');
301 require (ABSPATH . WPINC . '/category-template.php');
6027cfa Reorg comment functions. #2525
ryan authored
302 require (ABSPATH . WPINC . '/comment.php');
303 require (ABSPATH . WPINC . '/comment-template.php');
6970a75 Rewrite API additions and improvements from David House. #2433
ryan authored
304 require (ABSPATH . WPINC . '/rewrite.php');
c93efa8 Include file renames. #2525
ryan authored
305 require (ABSPATH . WPINC . '/feed.php');
19ea5fb Reorg bookmark functions. #2525
ryan authored
306 require (ABSPATH . WPINC . '/bookmark.php');
307 require (ABSPATH . WPINC . '/bookmark-template.php');
9dc65ab Cleaning up some includes.
saxmatt authored
308 require (ABSPATH . WPINC . '/kses.php');
fb1e531 Cron improvements from masquerade. #2425
ryan authored
309 require (ABSPATH . WPINC . '/cron.php');
2520d8e Include cleanups
saxmatt authored
310 require (ABSPATH . WPINC . '/version.php');
ca92bb4 Move deprecated functions to deprecated.php. #2520
ryan authored
311 require (ABSPATH . WPINC . '/deprecated.php');
4d49e98 Script loader from mdawaffe. #2701
ryan authored
312 require (ABSPATH . WPINC . '/script-loader.php');
634a33c Very rough initial commit of taxonomy for everyone's hacking pleasure. ...
ryan authored
313 require (ABSPATH . WPINC . '/taxonomy.php');
7c2dbb9 First pass at upgrade notification for core, see #1476. Also includes so...
matt authored
314 require (ABSPATH . WPINC . '/update.php');
6fc031d Canonical URLs, first swing. Props to Scott Yang, Ryan and Matt. see #...
markjaquith authored
315 require (ABSPATH . WPINC . '/canonical.php');
f529123 First pass at async upload, multi-upload, and gallery feature. Modified ...
matt authored
316 require (ABSPATH . WPINC . '/shortcodes.php');
833447d Image size options from tellyworth. fixes #5933
ryan authored
317 require (ABSPATH . WPINC . '/media.php');
3c99cfc HTTP POST and REQUEST API from jacobsantos. see #4779
ryan authored
318 require (ABSPATH . WPINC . '/http.php');
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
319
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
320 if ( !defined('WP_CONTENT_URL') )
995fe00 Use siteurl instead of home. Props msi08. fixes #7050
ryan authored
321 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
322
323 /**
324 * Allows for the plugins directory to be moved from the default location.
325 *
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
326 * @since 2.6.0
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
327 */
328 if ( !defined('WP_PLUGIN_DIR') )
329 define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); // full path, no trailing slash
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
330
331 /**
332 * Allows for the plugins directory to be moved from the default location.
333 *
334 * @since 2.6.0
335 */
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
336 if ( !defined('WP_PLUGIN_URL') )
337 define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); // full url, no trailing slash
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
338
339 /**
340 * Allows for the plugins directory to be moved from the default location.
341 *
342 * @since 2.1.0
343 */
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
344 if ( !defined('PLUGINDIR') )
345 define( 'PLUGINDIR', 'wp-content/plugins' ); // Relative to ABSPATH. For back compat.
346
545da15 Notice fixes from DD32. see #7509
ryan authored
347 /**
348 * Used to guarantee unique hash cookies
349 * @since 1.5
350 */
351 define('COOKIEHASH', md5(get_option('siteurl')));
5c97b54 Smilie fix from Jaykul, changed fool's siteurl fix to use faster preg_re...
saxmatt authored
352
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
353 /**
54f091e Allow overriding the default secret key. Proy. Props nbachiyski. fixes #...
ryan authored
354 * 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
355 * @since 2.5.0
54f091e Allow overriding the default secret key. Proy. Props nbachiyski. fixes #...
ryan authored
356 */
357 $wp_default_secret_key = 'put your unique phrase here';
358
359 /**
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
360 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
361 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
362 */
41afea2 Let advanced users override cookies.
matt authored
363 if ( !defined('USER_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
364 define('USER_COOKIE', 'wordpressuser_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
365
366 /**
367 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
368 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
369 */
41afea2 Let advanced users override cookies.
matt authored
370 if ( !defined('PASS_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
371 define('PASS_COOKIE', 'wordpresspass_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
372
373 /**
374 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
375 * @since 2.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
376 */
29ef8b6 New secure cookie protocol. see #5367
ryan authored
377 if ( !defined('AUTH_COOKIE') )
378 define('AUTH_COOKIE', 'wordpress_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
379
380 /**
381 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
382 * @since 2.6.0
9771ec5 First cut and better admin SSL support. see #7001
ryan authored
383 */
384 if ( !defined('SECURE_AUTH_COOKIE') )
385 define('SECURE_AUTH_COOKIE', 'wordpress_sec_' . COOKIEHASH);
386
387 /**
388 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
389 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. see ...
ryan authored
390 */
391 if ( !defined('LOGGED_IN_COOKIE') )
392 define('LOGGED_IN_COOKIE', 'wordpress_logged_in_' . COOKIEHASH);
393
394 /**
395 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
396 * @since 2.3.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
397 */
2662be2 Inform the user when cookies are disabled and login fails. Fixed #2039 p...
westi authored
398 if ( !defined('TEST_COOKIE') )
399 define('TEST_COOKIE', 'wordpress_test_cookie');
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
400
401 /**
402 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
403 * @since 1.2.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
404 */
41afea2 Let advanced users override cookies.
matt authored
405 if ( !defined('COOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
406 define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
407
408 /**
409 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
410 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
411 */
41afea2 Let advanced users override cookies.
matt authored
412 if ( !defined('SITECOOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
413 define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
414
415 /**
416 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
417 * @since 2.6.0
775ea98 Set auth cookie for plugins directory to support direct load plugin file...
ryan authored
418 */
419 if ( !defined('ADMIN_COOKIE_PATH') )
420 define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
421
422 /**
423 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
424 * @since 2.6.0
775ea98 Set auth cookie for plugins directory to support direct load plugin file...
ryan authored
425 */
426 if ( !defined('PLUGINS_COOKIE_PATH') )
427 define( 'PLUGINS_COOKIE_PATH', preg_replace('|https?://[^/]+|i', '', WP_PLUGIN_URL) );
428
429 /**
430 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
431 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
432 */
41afea2 Let advanced users override cookies.
matt authored
433 if ( !defined('COOKIE_DOMAIN') )
434 define('COOKIE_DOMAIN', false);
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. see ...
ryan authored
435
436 /**
437 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
438 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. see ...
ryan authored
439 */
440 if ( !defined('FORCE_SSL_ADMIN') )
441 define('FORCE_SSL_ADMIN', false);
442 force_ssl_admin(FORCE_SSL_ADMIN);
443
444 /**
445 * It is possible to define this in wp-config.php
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
446 * @since 2.6.0
6adcab8 Introduce logged_in cookie. Deliver auth cookies only to wp-admin. see ...
ryan authored
447 */
448 if ( !defined('FORCE_SSL_LOGIN') )
449 define('FORCE_SSL_LOGIN', false);
450 force_ssl_login(FORCE_SSL_LOGIN);
451
6e662d7 Move define of AUTOSAVE_INTERVAL to wp-settings so that it is available ...
ryan authored
452 /**
453 * It is possible to define this in wp-config.php
454 * @since 2.5.0
455 */
456 if ( !defined( 'AUTOSAVE_INTERVAL' ) )
457 define( 'AUTOSAVE_INTERVAL', 60 );
35b18e5 Trailing whitespace cleanup
ryan authored
458
41afea2 Let advanced users override cookies.
matt authored
459
9dc65ab Cleaning up some includes.
saxmatt authored
460 require (ABSPATH . WPINC . '/vars.php');
edc7d7c Installation cleanup.
saxmatt authored
461
c26991b Move hack file include.
saxmatt authored
462 // Check for hacks file if the option is enabled
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
463 if (get_option('hack_file')) {
764f50b ABSPATH already has a trailing slash. Props Nazgul. fixes #4607
markjaquith authored
464 if (file_exists(ABSPATH . 'my-hacks.php'))
465 require(ABSPATH . 'my-hacks.php');
c26991b Move hack file include.
saxmatt authored
466 }
467
c209f15 Don't die with 503 if WP_INSTALLING. Don't load plugins if WP_INSTALLING...
ryan authored
468 if ( get_option('active_plugins') && !defined('WP_INSTALLING') ) {
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
469 $current_plugins = get_option('active_plugins');
11f5bb3 Add a precautionary is_array() check around the plugin loading loop. ht...
ryan authored
470 if ( is_array($current_plugins) ) {
471 foreach ($current_plugins as $plugin) {
33ad189 Make the validate_file check more explict and obvious.
westi authored
472 if ( '' != $plugin && 0 == validate_file($plugin) && file_exists(WP_PLUGIN_DIR . '/' . $plugin) )
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
473 include_once(WP_PLUGIN_DIR . '/' . $plugin);
11f5bb3 Add a precautionary is_array() check around the plugin loading loop. ht...
ryan authored
474 }
e733249 Functional plugin implementation.
saxmatt authored
475 }
476 }
1127059 shutdown action hook.
saxmatt authored
477
c93efa8 Include file renames. #2525
ryan authored
478 require (ABSPATH . WPINC . '/pluggable.php');
08b02d9 Move plugin replacebale functions to pluggable-functions.php. http://mo...
ryan authored
479
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
480 /*
481 * In most cases the default internal encoding is latin1, which is of no use,
482 * since we want to use the mb_ functions for utf-8 strings
483 */
c2c7fa0 Make sure encoding is not empty. Props tenpura. see #6902
ryan authored
484 if (function_exists('mb_internal_encoding')) {
6e80433 Fallback to UTF-8 if not valid mb_internal_encoding. Props tenpura. fixe...
ryan authored
485 if (!@mb_internal_encoding(get_option('blog_charset')))
c2c7fa0 Make sure encoding is not empty. Props tenpura. see #6902
ryan authored
486 mb_internal_encoding('UTF-8');
487 }
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
488
489
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
490 if ( defined('WP_CACHE') && function_exists('wp_cache_postload') )
491 wp_cache_postload();
492
493 do_action('plugins_loaded');
494
3c8cb2b Revisioning for pages from mdawaffe. see #6775
ryan authored
495 $default_constants = array( 'WP_POST_REVISIONS' => true );
496 foreach ( $default_constants as $c => $v )
497 @define( $c, $v ); // will fail if the constant is already defined
498 unset($default_constants, $c, $v);
499
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
500 // If already slashed, strip.
501 if ( get_magic_quotes_gpc() ) {
6cbb6fe Stripslashes doesn't work on arrays. Add stripslashes_deep(). Props: ...
ryan authored
502 $_GET = stripslashes_deep($_GET );
503 $_POST = stripslashes_deep($_POST );
504 $_COOKIE = stripslashes_deep($_COOKIE);
65bbec7 Comments refactoring and cleanup
saxmatt authored
505 }
506
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
507 // Escape with wpdb.
508 $_GET = add_magic_quotes($_GET );
509 $_POST = add_magic_quotes($_POST );
510 $_COOKIE = add_magic_quotes($_COOKIE);
511 $_SERVER = add_magic_quotes($_SERVER);
512
1034767 wp_get_current_commenter()
ryan authored
513 do_action('sanitize_comment_cookies');
514
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
515 /**
516 * WordPress Query object
517 * @global object $wp_the_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
518 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
519 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
520 $wp_the_query =& new WP_Query();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
521
522 /**
523 * Holds the reference to @see $wp_the_query
524 * Use this global for WordPress queries
525 * @global object $wp_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
526 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
527 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
528 $wp_query =& $wp_the_query;
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
529
530 /**
531 * Holds the WordPress Rewrite object for creating pretty URLs
532 * @global object $wp_rewrite
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
533 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
534 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
535 $wp_rewrite =& new WP_Rewrite();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
536
537 /**
538 * WordPress Object
539 * @global object $wp
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
540 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
541 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
542 $wp =& new WP();
1baf503 Break blog header up into functional chunks. Stick it all in a WP class...
ryan authored
543
bc07ef1 Theme preview and thickbox CSS cleanup. Props azaozz. see #5486
ryan authored
544 do_action('setup_theme');
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
545
546 /**
547 * Web Path to the current active template directory
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
548 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
549 */
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
550 define('TEMPLATEPATH', get_template_directory());
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
551
552 /**
553 * Web Path to the current active template stylesheet directory
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
554 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
555 */
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoac. ...
ryan authored
556 define('STYLESHEETPATH', get_stylesheet_directory());
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
557
558 // Load the default text localization domain.
559 load_default_textdomain();
560
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
561 /**
562 * The locale of the blog
563 * @since 1.5.0
564 */
3e26469 Load locale specific php code in global context. fixes #3488
ryan authored
565 $locale = get_locale();
6c8d35d Allow wp-content to exist outside of webroot. Props sambauers. see #6938
ryan authored
566 $locale_file = WP_LANG_DIR . "/$locale.php";
3e26469 Load locale specific php code in global context. fixes #3488
ryan authored
567 if ( is_readable($locale_file) )
568 require_once($locale_file);
569
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
570 // Pull in locale data after loading text domain.
571 require_once(ABSPATH . WPINC . '/locale.php');
572
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
573 /**
574 * WordPress Locale object for loading locale domain date and various strings.
575 * @global object $wp_locale
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
576 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
577 */
92421de Ref more singletons.
ryan authored
578 $wp_locale =& new WP_Locale();
3d2347a WP_Locale. Props Sewar. fixes #2568
ryan authored
579
c369310 Better support for theme plugins. add_theme_page() and active theme fun...
ryan authored
580 // Load functions for active theme.
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoac. ...
ryan authored
581 if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists(STYLESHEETPATH . '/functions.php') )
582 include(STYLESHEETPATH . '/functions.php');
583 if ( file_exists(TEMPLATEPATH . '/functions.php') )
584 include(TEMPLATEPATH . '/functions.php');
c369310 Better support for theme plugins. add_theme_page() and active theme fun...
ryan authored
585
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
586 /**
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
587 * Runs just before PHP shuts down execution.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
588 *
589 * @access private
3fc6097 phpdoc corrections from jacobsantos. see #7918
ryan authored
590 * @since 1.2.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
591 */
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
592 function shutdown_action_hook() {
593 do_action('shutdown');
84da5fc Save cache after the shutdown hook runs. fixes #2232
ryan authored
594 wp_cache_close();
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
595 }
596 register_shutdown_function('shutdown_action_hook');
597
251ad30 Call WP::init() just before kicking the init action so that the current ...
ryan authored
598 $wp->init(); // Sets up current user.
599
1baf503 Break blog header up into functional chunks. Stick it all in a WP class...
ryan authored
600 // Everything is loaded and initialized.
9838608 Allow multiple args to be passed to apply_filters and do_action. Move s...
rboren authored
601 do_action('init');
06a0fc3 Formatting
matt authored
602
629dde8 Actually check for PHP 4.2. Props nbachiyski. fixes #4336
rob1n authored
603 ?>
Something went wrong with that request. Please try again.