Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 471 lines (398 sloc) 14.247 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
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
18
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
19 /**
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
20 * wp_unregister_GLOBALS() - Turn register globals off
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
21 *
22 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
23 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
24 * @return null Will return null if register_globals PHP directive was disabled
25 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
26 function wp_unregister_GLOBALS() {
27 if ( !ini_get('register_globals') )
28 return;
dce5220 Typos and more secure unsetting. Hat tip: Stefen Esser
matt authored
29
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
30 if ( isset($_REQUEST['GLOBALS']) )
31 die('GLOBALS overwrite attempt detected');
32
33 // Variables that shouldn't be unset
34 $noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
35
36 $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
321c310 Remove trailing whitespace
ryan authored
37 foreach ( $input as $k => $v )
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
38 if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) ) {
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
39 $GLOBALS[$k] = NULL;
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
40 unset($GLOBALS[$k]);
9323d39 Zend hash del key or index fix. PRops MarkJaquith.
ryan authored
41 }
2919fe2 That last thing didn't work at all.
matt authored
42 }
877e6a7 Turn register globals off. Hat tip: Christian Schmidt
matt authored
43
321c310 Remove trailing whitespace
ryan authored
44 wp_unregister_GLOBALS();
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
45
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
46 unset( $wp_filter, $cache_lastcommentmodified, $cache_lastpostdate );
376ec4d Tweak
matt authored
47
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
48 /**
49 * The $blog_id global, which you can change in the config allows you to create a simple
50 * multiple blog installation using just one WordPress and changing $blog_id around.
51 *
52 * @global int $blog_id
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
53 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
54 */
d4f95b7 Accidental commit. Props Nazgul. fixes #4437
rob1n authored
55 if ( ! isset($blog_id) )
85723b8 Object caching, round one.
ryan authored
56 $blog_id = 1;
57
a18a23e Work around IIS' lack of REQUEST_URI
saxmatt authored
58 // Fix for IIS, which doesn't set REQUEST_URI
40a7d9d Fixes #1488
matt authored
59 if ( empty( $_SERVER['REQUEST_URI'] ) ) {
dd202ce Death to trailing tabs. Props Mark J. fixes #2405
ryan authored
60
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes #35...
markjaquith authored
61 // IIS Mod-Rewrite
62 if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
63 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
64 }
65 // IIS Isapi_Rewrite
66 else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
67 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
68 }
c698c97 IIS REQUEST_URI-setting fixes from snakefoot. fixes #5160 for trunk
markjaquith authored
69 else
70 {
71 // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
72 if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
6a1c63e Correctly set REQUEST_URI for IIS setups that put that info into SCRIPT_...
markjaquith authored
73 $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes #35...
markjaquith authored
74 else
75 $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
87c4f3a Strip lines that contain only whitespace down to newlines.
ryan authored
76
54639a3 Set REQUEST_URI for IIS in more situations. props snakefoot. fixes #35...
markjaquith authored
77 // Append the query string if it exists and isn't null
78 if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
79 $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
80 }
720316d Do not touch REQUEST_URI if it is already set by the server.
rboren authored
81 }
12b4069 Fix REQUEST_URI construction for IIS. Bug 389. Patch from Dennis Willi...
rboren authored
82 }
a18a23e Work around IIS' lack of REQUEST_URI
saxmatt authored
83
c50e7da Fixes #1591 (again)
matt authored
84 // 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
85 if ( isset($_SERVER['SCRIPT_FILENAME']) && ( strpos($_SERVER['SCRIPT_FILENAME'], 'php.cgi') == strlen($_SERVER['SCRIPT_FILENAME']) - 7 ) )
c50e7da Fixes #1591 (again)
matt authored
86 $_SERVER['SCRIPT_FILENAME'] = $_SERVER['PATH_TRANSLATED'];
87
885ee8f This should fix permalinks, but may break the PHP as CGI funkiness again
matt authored
88 // Fix for Dreamhost and other PHP as CGI hosts
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
89 if (strpos($_SERVER['SCRIPT_NAME'], 'php.cgi') !== false)
c50e7da Fixes #1591 (again)
matt authored
90 unset($_SERVER['PATH_INFO']);
91
38f4fca Move PHP_SELF setup to wp-settings.php. #2153
ryan authored
92 // Fix empty PHP_SELF
93 $PHP_SELF = $_SERVER['PHP_SELF'];
94 if ( empty($PHP_SELF) )
95 $_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
96
f3d0aae Require PHP 4.3
ryan authored
97 if ( version_compare( '4.3', phpversion(), '>' ) ) {
98 die( 'Your server is running PHP version ' . phpversion() . ' but WordPress requires at least 4.3.' );
629dde8 Actually check for PHP 4.2. Props nbachiyski. fixes #4336
rob1n authored
99 }
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
100
172bfb8 Don't enforce presence of mysql system if custom DB class is being used....
ryan authored
101 if ( !extension_loaded('mysql') && !file_exists(ABSPATH . 'wp-content/db.php') )
fa1ec4e Don't wp_die() before functions.php is loaded.
ryan authored
102 die( 'Your PHP installation appears to be missing the MySQL which is required for WordPress.' );
0d040b3 Sanity check mysql.
saxmatt authored
103
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
104 /**
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
105 * timer_start() - PHP 4 standard microtime start capture
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
106 *
107 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
108 * @since 0.71
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
109 * @global int $timestart Seconds and Microseconds added together from when function is called
110 * @return bool Always returns true
111 */
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
112 function timer_start() {
113 global $timestart;
114 $mtime = explode(' ', microtime() );
115 $mtime = $mtime[1] + $mtime[0];
116 $timestart = $mtime;
117 return true;
118 }
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
119
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
120 /**
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
121 * timer_stop() - 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
122 *
123 * You can get the results and print them by doing:
124 * <code>
125 * $nTimePageTookToExecute = timer_stop();
126 * echo $nTimePageTookToExecute;
127 * </code>
128 *
129 * Or instead, you can do:
130 * <code>
131 * timer_stop(1);
132 * </code>
133 * which will do what the above does. If you need the result, you can assign it to a variable, but
134 * most cases, you only need to echo it.
135 *
6950e28 Fix @since for timer_start and timer_stop. See #5211.
westi authored
136 * @since 0.71
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
137 * @global int $timestart Seconds and Microseconds added together from when timer_start() is called
138 * @global int $timeend Seconds and Microseconds added together from when function is called
139 *
140 * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
141 * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
142 * @return float The "second.microsecond" finished time calculation
143 */
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
144 function timer_stop($display = 0, $precision = 3) { //if called like timer_stop(1), will echo $timetotal
145 global $timestart, $timeend;
146 $mtime = microtime();
147 $mtime = explode(' ',$mtime);
148 $mtime = $mtime[1] + $mtime[0];
149 $timeend = $mtime;
150 $timetotal = $timeend-$timestart;
4f6b825 Make sure number_format_i18n() is available before calling it in timer_s...
markjaquith authored
151 $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
152 if ( $display )
a9d23d4 allow timer_stop() to use number_format() when returning. Props mdawaff...
markjaquith authored
153 echo $r;
154 return $r;
0f7bb42 timer_stop() wanted to be near timer_start().
ryan authored
155 }
551e52f Code cleanup and some fixes from the WP Japan folks.
saxmatt authored
156 timer_start();
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
157
f3e26c6 s/WPDEBUG/WP_DEBUG/g Fixes #5033
westi authored
158 // Add define('WP_DEBUG',true); to wp-config.php to enable display of notices during development.
159 if (defined('WP_DEBUG') and WP_DEBUG == true) {
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
160 error_reporting(E_ALL);
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #3155. ...
westi authored
161 } else {
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
162 error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);
2bcddfc Enable developers to turn on notices from wp-config.php. Relates #3155. ...
westi authored
163 }
9b09572 Turn down error reporting.
saxmatt authored
164
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
165 // For an advanced caching plugin to use, static because you would only want one
166 if ( defined('WP_CACHE') )
a45c3a3 Don't fail when the user don't set WP-Cache up correctly. Props Denis de...
rob1n authored
167 @include ABSPATH . 'wp-content/advanced-cache.php';
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
168
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
169 /**
170 * Stores the location of the WordPress directory of functions, classes, and core content.
171 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
172 * @since 1.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
173 */
edc7d7c Installation cleanup.
saxmatt authored
174 define('WPINC', 'wp-includes');
54d7ccb make /languages/ directory default to /wp-content/languages/ with fallba...
markjaquith authored
175
176 if ( !defined('LANGDIR') ) {
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
177 /**
d889837 Trailing whitespace cleanup
ryan authored
178 * Stores the location of the language directory. First looks for language folder in wp-content
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
179 * and uses that folder if it exists. Or it uses the "languages" folder in WPINC.
180 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
181 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
182 */
54d7ccb make /languages/ directory default to /wp-content/languages/ with fallba...
markjaquith authored
183 if ( file_exists(ABSPATH . 'wp-content/languages') && @is_dir(ABSPATH . 'wp-content/languages') )
184 define('LANGDIR', 'wp-content/languages'); // no leading slash, no trailing slash
185 else
186 define('LANGDIR', WPINC . '/languages'); // no leading slash, no trailing slash
187 }
188
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
189 /**
190 * Allows for the plugins directory to be moved from the default location.
191 *
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
192 * This isn't used everywhere. Constant is not used in plugin_basename()
193 * which might cause conflicts with changing this.
194 *
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
195 * @since 2.1
196 */
7a03234 Turn hard-coded paths to defines. Pull gettext includes int wp-settings....
ryan authored
197 if ( !defined('PLUGINDIR') )
198 define('PLUGINDIR', 'wp-content/plugins'); // no leading slash, no trailing slash
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers so ...
markjaquith authored
199
200 require (ABSPATH . WPINC . '/compat.php');
201 require (ABSPATH . WPINC . '/functions.php');
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
202 require (ABSPATH . WPINC . '/classes.php');
b36471d Use wp_die() for WPDB bails. Send 500 response and no-cache headers so ...
markjaquith authored
203
61f8b8f Move database class loading to a shared function to ensure all of WordPr...
westi authored
204 require_wp_db();
e8dc869 Custom DB error page. fixes #5500 for 2.4
ryan authored
205
206 if ( !empty($wpdb->error) )
207 dead_db();
208
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
209 $prefix = $wpdb->set_prefix($table_prefix);
71a2674 Use $wpdb->prefix when defining table names
markjaquith authored
210
1d0bf72 AJAX for link category add and delete. Props mdawaffe. fixes #5291
ryan authored
211 if ( is_wp_error($prefix) )
42def10 Use ' not " so we don't expand. Fixes #5546 props takayukister.
westi authored
212 wp_die('<strong>ERROR</strong>: <code>$table_prefix</code> in <code>wp-config.php</code> can only contain numbers, letters, and underscores.');
cde68f9 Exit gracefully with a warning if the table_prefix uses disallowed chars...
markjaquith authored
213
85723b8 Object caching, round one.
ryan authored
214 if ( file_exists(ABSPATH . 'wp-content/object-cache.php') )
b3d3d73 Require once only. Props masquerade. fixes #4192
rob1n authored
215 require_once (ABSPATH . 'wp-content/object-cache.php');
85723b8 Object caching, round one.
ryan authored
216 else
b3d3d73 Require once only. Props masquerade. fixes #4192
rob1n authored
217 require_once (ABSPATH . WPINC . '/cache.php');
85723b8 Object caching, round one.
ryan authored
218
219 wp_cache_init();
220
6d7717e Move plugin API to plugin.php. #2525
ryan authored
221 require (ABSPATH . WPINC . '/plugin.php');
81e7d92 Some filter action and cleanup
saxmatt authored
222 require (ABSPATH . WPINC . '/default-filters.php');
acc5602 Always load gettext.
ryan authored
223 include_once(ABSPATH . WPINC . '/streams.php');
224 include_once(ABSPATH . WPINC . '/gettext.php');
62927ab Remove wp- prefix from wp-l10n.php
ryan authored
225 require_once (ABSPATH . WPINC . '/l10n.php');
1bd4057 Bug fixes
saxmatt authored
226
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
227 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
228 if ( defined('WP_SITEURL') )
321c310 Remove trailing whitespace
ryan authored
229 $link = WP_SITEURL . '/wp-admin/install.php';
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes #4...
markjaquith authored
230 elseif (strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false)
231 $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
232 else
25abcd1 More streamlined install process. Obeys WP_SITEURL if defined. fixes #4...
markjaquith authored
233 $link = preg_replace('|/[^/]+?$|', '/', $_SERVER['PHP_SELF']) . 'wp-admin/install.php';
234 require_once(ABSPATH . WPINC . '/kses.php');
235 require_once(ABSPATH . WPINC . '/pluggable.php');
236 wp_redirect($link);
237 die(); // have to die here ~ Mark
ca2815f If we're already in wp-admin don't recursive link
saxmatt authored
238 }
1bd4057 Bug fixes
saxmatt authored
239
c93efa8 Include file renames. #2525
ryan authored
240 require (ABSPATH . WPINC . '/formatting.php');
a6ade4a Role/capability system. Round one. Props: Owen Winkler
ryan authored
241 require (ABSPATH . WPINC . '/capabilities.php');
9303053 Move WP_Query and its wrapper functions to query.php. #2525
ryan authored
242 require (ABSPATH . WPINC . '/query.php');
40b2e61 Move theme functions to theme.php. #2525
ryan authored
243 require (ABSPATH . WPINC . '/theme.php');
c56e62f Move user functions to user.php. Relocate more post functions to post.p...
ryan authored
244 require (ABSPATH . WPINC . '/user.php');
c93efa8 Include file renames. #2525
ryan authored
245 require (ABSPATH . WPINC . '/general-template.php');
246 require (ABSPATH . WPINC . '/link-template.php');
c56e62f Move user functions to user.php. Relocate more post functions to post.p...
ryan authored
247 require (ABSPATH . WPINC . '/author-template.php');
3c8ed76 Reworg post/page/attachment functions. #2525
ryan authored
248 require (ABSPATH . WPINC . '/post.php');
249 require (ABSPATH . WPINC . '/post-template.php');
0f5dc0f Reorg category functions. #2525
ryan authored
250 require (ABSPATH . WPINC . '/category.php');
251 require (ABSPATH . WPINC . '/category-template.php');
6027cfa Reorg comment functions. #2525
ryan authored
252 require (ABSPATH . WPINC . '/comment.php');
253 require (ABSPATH . WPINC . '/comment-template.php');
6970a75 Rewrite API additions and improvements from David House. #2433
ryan authored
254 require (ABSPATH . WPINC . '/rewrite.php');
c93efa8 Include file renames. #2525
ryan authored
255 require (ABSPATH . WPINC . '/feed.php');
19ea5fb Reorg bookmark functions. #2525
ryan authored
256 require (ABSPATH . WPINC . '/bookmark.php');
257 require (ABSPATH . WPINC . '/bookmark-template.php');
9dc65ab Cleaning up some includes.
saxmatt authored
258 require (ABSPATH . WPINC . '/kses.php');
fb1e531 Cron improvements from masquerade. #2425
ryan authored
259 require (ABSPATH . WPINC . '/cron.php');
2520d8e Include cleanups
saxmatt authored
260 require (ABSPATH . WPINC . '/version.php');
ca92bb4 Move deprecated functions to deprecated.php. #2520
ryan authored
261 require (ABSPATH . WPINC . '/deprecated.php');
4d49e98 Script loader from mdawaffe. #2701
ryan authored
262 require (ABSPATH . WPINC . '/script-loader.php');
634a33c Very rough initial commit of taxonomy for everyone's hacking pleasure. ...
ryan authored
263 require (ABSPATH . WPINC . '/taxonomy.php');
7c2dbb9 First pass at upgrade notification for core, see #1476. Also includes so...
matt authored
264 require (ABSPATH . WPINC . '/update.php');
6fc031d Canonical URLs, first swing. Props to Scott Yang, Ryan and Matt. see #...
markjaquith authored
265 require (ABSPATH . WPINC . '/canonical.php');
f529123 First pass at async upload, multi-upload, and gallery feature. Modified ...
matt authored
266 require (ABSPATH . WPINC . '/shortcodes.php');
833447d Image size options from tellyworth. fixes #5933
ryan authored
267 require (ABSPATH . WPINC . '/media.php');
da4a0d9 Fix for empty plugin strings, class include moved for timing.
saxmatt authored
268
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
269 if (strpos($_SERVER['PHP_SELF'], 'install.php') === false) {
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
270 // Used to guarantee unique hash cookies
271 $cookiehash = md5(get_option('siteurl'));
272 /**
273 * Used to guarantee unique hash cookies
274 * @since 1.5
275 */
321c310 Remove trailing whitespace
ryan authored
276 define('COOKIEHASH', $cookiehash);
3320dd1 Use strpos instead of strstr where ever possible, for speed. Props rob1...
markjaquith authored
277 }
5c97b54 Smilie fix from Jaykul, changed fool's siteurl fix to use faster preg_re...
saxmatt authored
278
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
279 /**
54f091e Allow overriding the default secret key. Proy. Props nbachiyski. fixes #...
ryan authored
280 * Should be exactly the same as the default value of SECRET_KEY in wp-config-sample.php
281 * @since 2.5
282 */
283 $wp_default_secret_key = 'put your unique phrase here';
284
285 /**
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
286 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
287 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
288 */
41afea2 Let advanced users override cookies.
matt authored
289 if ( !defined('USER_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
290 define('USER_COOKIE', 'wordpressuser_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
291
292 /**
293 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
294 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
295 */
41afea2 Let advanced users override cookies.
matt authored
296 if ( !defined('PASS_COOKIE') )
29ef8b6 New secure cookie protocol. see #5367
ryan authored
297 define('PASS_COOKIE', 'wordpresspass_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
298
299 /**
300 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
301 * @since 2.5
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
302 */
29ef8b6 New secure cookie protocol. see #5367
ryan authored
303 if ( !defined('AUTH_COOKIE') )
304 define('AUTH_COOKIE', 'wordpress_' . COOKIEHASH);
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
305
306 /**
307 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
308 * @since 2.3.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
309 */
2662be2 Inform the user when cookies are disabled and login fails. Fixed #2039 p...
westi authored
310 if ( !defined('TEST_COOKIE') )
311 define('TEST_COOKIE', 'wordpress_test_cookie');
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
312
313 /**
314 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
315 * @since 1.2.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
316 */
41afea2 Let advanced users override cookies.
matt authored
317 if ( !defined('COOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
318 define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
319
320 /**
321 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
322 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
323 */
41afea2 Let advanced users override cookies.
matt authored
324 if ( !defined('SITECOOKIEPATH') )
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
325 define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
326
327 /**
328 * It is possible to define this in wp-config.php
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
329 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
330 */
41afea2 Let advanced users override cookies.
matt authored
331 if ( !defined('COOKIE_DOMAIN') )
332 define('COOKIE_DOMAIN', false);
333
9dc65ab Cleaning up some includes.
saxmatt authored
334 require (ABSPATH . WPINC . '/vars.php');
edc7d7c Installation cleanup.
saxmatt authored
335
c26991b Move hack file include.
saxmatt authored
336 // Check for hacks file if the option is enabled
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
337 if (get_option('hack_file')) {
764f50b ABSPATH already has a trailing slash. Props Nazgul. fixes #4607
markjaquith authored
338 if (file_exists(ABSPATH . 'my-hacks.php'))
339 require(ABSPATH . 'my-hacks.php');
c26991b Move hack file include.
saxmatt authored
340 }
341
849a0d2 Use get_option instead of get_settings. Just 'cause.
ryan authored
342 if ( get_option('active_plugins') ) {
343 $current_plugins = get_option('active_plugins');
11f5bb3 Add a precautionary is_array() check around the plugin loading loop. ht...
ryan authored
344 if ( is_array($current_plugins) ) {
345 foreach ($current_plugins as $plugin) {
8311272 Use PLUGINDIR. Props z720 and Nazgul. fixes #3909
ryan authored
346 if ('' != $plugin && file_exists(ABSPATH . PLUGINDIR . '/' . $plugin))
347 include_once(ABSPATH . PLUGINDIR . '/' . $plugin);
11f5bb3 Add a precautionary is_array() check around the plugin loading loop. ht...
ryan authored
348 }
e733249 Functional plugin implementation.
saxmatt authored
349 }
350 }
1127059 shutdown action hook.
saxmatt authored
351
c93efa8 Include file renames. #2525
ryan authored
352 require (ABSPATH . WPINC . '/pluggable.php');
08b02d9 Move plugin replacebale functions to pluggable-functions.php. http://mo...
ryan authored
353
6e181bb Multi-byte character safe excerpting from nbachiyski. fixes #6077
ryan authored
354 /*
355 * In most cases the default internal encoding is latin1, which is of no use,
356 * since we want to use the mb_ functions for utf-8 strings
357 */
358 if ( function_exists('mb_internal_encoding') )
359 mb_internal_encoding( get_option( 'blog_charset' ) );
360
361
362
70a449d Allow for plugins to kick in before everything if define in wp-config
saxmatt authored
363 if ( defined('WP_CACHE') && function_exists('wp_cache_postload') )
364 wp_cache_postload();
365
366 do_action('plugins_loaded');
367
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
368 // If already slashed, strip.
369 if ( get_magic_quotes_gpc() ) {
6cbb6fe Stripslashes doesn't work on arrays. Add stripslashes_deep(). Props: ...
ryan authored
370 $_GET = stripslashes_deep($_GET );
371 $_POST = stripslashes_deep($_POST );
372 $_COOKIE = stripslashes_deep($_COOKIE);
65bbec7 Comments refactoring and cleanup
saxmatt authored
373 }
374
91efba1 Use wpdb->escape instead of addslashes to prepare DB bound data.
ryan authored
375 // Escape with wpdb.
376 $_GET = add_magic_quotes($_GET );
377 $_POST = add_magic_quotes($_POST );
378 $_COOKIE = add_magic_quotes($_COOKIE);
379 $_SERVER = add_magic_quotes($_SERVER);
380
1034767 wp_get_current_commenter()
ryan authored
381 do_action('sanitize_comment_cookies');
382
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
383 /**
384 * WordPress Query object
385 * @global object $wp_the_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
386 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
387 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
388 $wp_the_query =& new WP_Query();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
389
390 /**
391 * Holds the reference to @see $wp_the_query
392 * Use this global for WordPress queries
393 * @global object $wp_query
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
394 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
395 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
396 $wp_query =& $wp_the_query;
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
397
398 /**
399 * Holds the WordPress Rewrite object for creating pretty URLs
400 * @global object $wp_rewrite
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
401 * @since 1.5.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
402 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
403 $wp_rewrite =& new WP_Rewrite();
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
404
405 /**
406 * WordPress Object
407 * @global object $wp
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
408 * @since 2.0.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
409 */
22bee1c Preserve the original query object as wp_the_query so that it's not stom...
ryan authored
410 $wp =& new WP();
1baf503 Break blog header up into functional chunks. Stick it all in a WP class...
ryan authored
411
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
412
413 /**
414 * Web Path to the current active template directory
415 * @since 1.5
416 */
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
417 define('TEMPLATEPATH', get_template_directory());
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
418
419 /**
420 * Web Path to the current active template stylesheet directory
421 * @since 2.1
422 */
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoac. ...
ryan authored
423 define('STYLESHEETPATH', get_stylesheet_directory());
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
424
425 // Load the default text localization domain.
426 load_default_textdomain();
427
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
428 /**
429 * The locale of the blog
430 * @since 1.5.0
431 */
3e26469 Load locale specific php code in global context. fixes #3488
ryan authored
432 $locale = get_locale();
433 $locale_file = ABSPATH . LANGDIR . "/$locale.php";
434 if ( is_readable($locale_file) )
435 require_once($locale_file);
436
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
437 // Pull in locale data after loading text domain.
438 require_once(ABSPATH . WPINC . '/locale.php');
439
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
440 /**
441 * WordPress Locale object for loading locale domain date and various strings.
442 * @global object $wp_locale
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
443 * @since 2.1.0
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
444 */
92421de Ref more singletons.
ryan authored
445 $wp_locale =& new WP_Locale();
3d2347a WP_Locale. Props Sewar. fixes #2568
ryan authored
446
c369310 Better support for theme plugins. add_theme_page() and active theme fun...
ryan authored
447 // Load functions for active theme.
b55b6aa Allow stylesheet only themes to provide functions.php. Props skeltoac. ...
ryan authored
448 if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists(STYLESHEETPATH . '/functions.php') )
449 include(STYLESHEETPATH . '/functions.php');
450 if ( file_exists(TEMPLATEPATH . '/functions.php') )
451 include(TEMPLATEPATH . '/functions.php');
c369310 Better support for theme plugins. add_theme_page() and active theme fun...
ryan authored
452
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
453 /**
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
454 * shutdown_action_hook() - Runs just before PHP shuts down execution.
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
455 *
456 * @access private
479fc2e phpdoc tuneup from darkdragon. see #5611
ryan authored
457 * @since 1.2
75dc778 phpdoc for wp-settings.php. Fixes #5211 props darkdragon.
westi authored
458 */
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
459 function shutdown_action_hook() {
460 do_action('shutdown');
84da5fc Save cache after the shutdown hook runs. fixes #2232
ryan authored
461 wp_cache_close();
98aa7f5 Rearrange load order. Init classes before loading the text domain and s...
ryan authored
462 }
463 register_shutdown_function('shutdown_action_hook');
464
251ad30 Call WP::init() just before kicking the init action so that the current ...
ryan authored
465 $wp->init(); // Sets up current user.
466
1baf503 Break blog header up into functional chunks. Stick it all in a WP class...
ryan authored
467 // Everything is loaded and initialized.
9838608 Allow multiple args to be passed to apply_filters and do_action. Move s...
rboren authored
468 do_action('init');
06a0fc3 Formatting
matt authored
469
629dde8 Actually check for PHP 4.2. Props nbachiyski. fixes #4336
rob1n authored
470 ?>
Something went wrong with that request. Please try again.