Skip to content

HTTPS clone URL

Subversion checkout URL

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