/var/www/wordpress/wp-admin/includes/admin.php
/var/www/wordpress/wp-admin/includes/bookmark.php
/var/www/wordpress/wp-admin/includes/class-ftp-pure.php
/var/www/wordpress/wp-admin/includes/class-ftp-sockets.php
/var/www/wordpress/wp-admin/includes/class-ftp.php
/var/www/wordpress/wp-admin/includes/class-pclzip.php
/var/www/wordpress/wp-admin/includes/class-wp-filesystem-base.php
/var/www/wordpress/wp-admin/includes/class-wp-filesystem-direct.php
/var/www/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php
/var/www/wordpress/wp-admin/includes/class-wp-filesystem-ftpsockets.php
/var/www/wordpress/wp-admin/includes/class-wp-filesystem-ssh2.php
/var/www/wordpress/wp-admin/includes/class-wp-importer.php
/var/www/wordpress/wp-admin/includes/class-wp-upgrader.php
/var/www/wordpress/wp-admin/includes/comment.php
/var/www/wordpress/wp-admin/includes/continents-cities.php
/var/www/wordpress/wp-admin/includes/dashboard.php
/var/www/wordpress/wp-admin/includes/deprecated.php
/var/www/wordpress/wp-admin/includes/export.php
/var/www/wordpress/wp-admin/includes/file.php
/var/www/wordpress/wp-admin/includes/image-edit.php
/var/www/wordpress/wp-admin/includes/image.php
/var/www/wordpress/wp-admin/includes/import.php
/var/www/wordpress/wp-admin/includes/manifest.php
/var/www/wordpress/wp-admin/includes/media.php
/var/www/wordpress/wp-admin/includes/meta-boxes.php
/var/www/wordpress/wp-admin/includes/misc.php
/var/www/wordpress/wp-admin/includes/ms-deprecated.php
/var/www/wordpress/wp-admin/includes/ms.php
/var/www/wordpress/wp-admin/includes/nav-menu.php
/var/www/wordpress/wp-admin/includes/plugin-install.php
/var/www/wordpress/wp-admin/includes/plugin.php
/var/www/wordpress/wp-admin/includes/post.php
/var/www/wordpress/wp-admin/includes/schema.php
/var/www/wordpress/wp-admin/includes/taxonomy.php
/var/www/wordpress/wp-admin/includes/template.php
/var/www/wordpress/wp-admin/includes/theme-install.php
/var/www/wordpress/wp-admin/includes/theme.php
/var/www/wordpress/wp-admin/includes/update-core.php
/var/www/wordpress/wp-admin/includes/update.php
/var/www/wordpress/wp-admin/includes/upgrade.php
/var/www/wordpress/wp-admin/includes/user.php
/var/www/wordpress/wp-admin/includes/widgets.php
/var/www/wordpress/wp-admin/js/revisions-js.php
/var/www/wordpress/wp-admin/maint/repair.php
/var/www/wordpress/wp-admin/admin-ajax.php
/var/www/wordpress/wp-admin/admin-footer.php
/var/www/wordpress/wp-admin/admin-functions.php
/var/www/wordpress/wp-admin/admin-header.php
/var/www/wordpress/wp-admin/admin-post.php
/var/www/wordpress/wp-admin/admin.php
/var/www/wordpress/wp-admin/async-upload.php
/var/www/wordpress/wp-admin/comment.php
/var/www/wordpress/wp-admin/custom-background.php
/var/www/wordpress/wp-admin/custom-header.php
/var/www/wordpress/wp-admin/edit-attachment-rows.php
/var/www/wordpress/wp-admin/edit-comments.php
/var/www/wordpress/wp-admin/edit-form-advanced.php
/var/www/wordpress/wp-admin/edit-form-comment.php
/var/www/wordpress/wp-admin/edit-link-categories.php
/var/www/wordpress/wp-admin/edit-link-category-form.php
/var/www/wordpress/wp-admin/edit-link-form.php
/var/www/wordpress/wp-admin/edit-post-rows.php
/var/www/wordpress/wp-admin/edit-tag-form.php
/var/www/wordpress/wp-admin/edit-tags.php
/var/www/wordpress/wp-admin/edit.php
/var/www/wordpress/wp-admin/export.php
/var/www/wordpress/wp-admin/gears-manifest.php
/var/www/wordpress/wp-admin/import.php
/var/www/wordpress/wp-admin/index-extra.php
/var/www/wordpress/wp-admin/index.php
/var/www/wordpress/wp-admin/install-helper.php
/var/www/wordpress/wp-admin/install.php
/var/www/wordpress/wp-admin/link-add.php
/var/www/wordpress/wp-admin/link-category.php
/var/www/wordpress/wp-admin/link-manager.php
/var/www/wordpress/wp-admin/link-parse-opml.php
/var/www/wordpress/wp-admin/link.php
/var/www/wordpress/wp-admin/load-scripts.php
/var/www/wordpress/wp-admin/load-styles.php
/var/www/wordpress/wp-admin/media-new.php
/var/www/wordpress/wp-admin/media-upload.php
/var/www/wordpress/wp-admin/media.php
/var/www/wordpress/wp-admin/menu-header.php
/var/www/wordpress/wp-admin/menu.php
/var/www/wordpress/wp-admin/moderation.php
/var/www/wordpress/wp-admin/ms-admin.php
/var/www/wordpress/wp-admin/ms-delete-site.php
/var/www/wordpress/wp-admin/ms-edit.php
/var/www/wordpress/wp-admin/ms-options.php
/var/www/wordpress/wp-admin/ms-sites.php
/var/www/wordpress/wp-admin/ms-themes.php
/var/www/wordpress/wp-admin/ms-upgrade-network.php
/var/www/wordpress/wp-admin/ms-users.php
/var/www/wordpress/wp-admin/my-sites.php
/var/www/wordpress/wp-admin/nav-menus.php
/var/www/wordpress/wp-admin/network.php
/var/www/wordpress/wp-admin/options-discussion.php
/var/www/wordpress/wp-admin/options-general.php
/var/www/wordpress/wp-admin/options-head.php
/var/www/wordpress/wp-admin/options-media.php
/var/www/wordpress/wp-admin/options-permalink.php
/var/www/wordpress/wp-admin/options-privacy.php
/var/www/wordpress/wp-admin/options-reading.php
/var/www/wordpress/wp-admin/options-writing.php
/var/www/wordpress/wp-admin/options.php
/var/www/wordpress/wp-admin/plugin-editor.php
/var/www/wordpress/wp-admin/plugin-install.php
/var/www/wordpress/wp-admin/plugins.php
/var/www/wordpress/wp-admin/post-new.php
/var/www/wordpress/wp-admin/post.php
/var/www/wordpress/wp-admin/press-this.php
/var/www/wordpress/wp-admin/profile.php
/var/www/wordpress/wp-admin/revision.php
/var/www/wordpress/wp-admin/setup-config.php
/var/www/wordpress/wp-admin/sidebar.php
/var/www/wordpress/wp-admin/theme-editor.php
/var/www/wordpress/wp-admin/theme-install.php
/var/www/wordpress/wp-admin/themes.php
/var/www/wordpress/wp-admin/tools.php
/var/www/wordpress/wp-admin/update-core.php
/var/www/wordpress/wp-admin/update.php
/var/www/wordpress/wp-admin/upgrade-functions.php
/var/www/wordpress/wp-admin/upgrade.php
/var/www/wordpress/wp-admin/upload.php
/var/www/wordpress/wp-admin/user-edit.php
/var/www/wordpress/wp-admin/user-new.php
/var/www/wordpress/wp-admin/users.php
/var/www/wordpress/wp-admin/widgets.php
/var/www/wordpress/wp-content/languages/ru_RU.php
/var/www/wordpress/wp-content/plugins/akismet/akismet.php
/var/www/wordpress/wp-content/plugins/rh/rh.php
/var/www/wordpress/wp-content/plugins/hello.php
/var/www/wordpress/wp-content/plugins/index.php
/var/www/wordpress/wp-content/themes/twentyten/404.php
/var/www/wordpress/wp-content/themes/twentyten/archive.php
/var/www/wordpress/wp-content/themes/twentyten/attachment.php
/var/www/wordpress/wp-content/themes/twentyten/author.php
/var/www/wordpress/wp-content/themes/twentyten/category.php
/var/www/wordpress/wp-content/themes/twentyten/comments.php
/var/www/wordpress/wp-content/themes/twentyten/footer.php
/var/www/wordpress/wp-content/themes/twentyten/functions.php
/var/www/wordpress/wp-content/themes/twentyten/header.php
/var/www/wordpress/wp-content/themes/twentyten/index.php
/var/www/wordpress/wp-content/themes/twentyten/loop.php
/var/www/wordpress/wp-content/themes/twentyten/onecolumn-page.php
/var/www/wordpress/wp-content/themes/twentyten/page.php
/var/www/wordpress/wp-content/themes/twentyten/search.php
/var/www/wordpress/wp-content/themes/twentyten/sidebar-footer.php
/var/www/wordpress/wp-content/themes/twentyten/sidebar.php
/var/www/wordpress/wp-content/themes/twentyten/single.php
/var/www/wordpress/wp-content/themes/twentyten/tag.php
/var/www/wordpress/wp-content/themes/index.php
/var/www/wordpress/wp-content/index.php
/var/www/wordpress/wp-includes/js/tinymce/langs/wp-langs.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/includes/general.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/config.php
/var/www/wordpress/wp-includes/js/tinymce/plugins/spellchecker/rpc.php
/var/www/wordpress/wp-includes/js/tinymce/wp-mce-help.php
/var/www/wordpress/wp-includes/js/tinymce/wp-tinymce.php
/var/www/wordpress/wp-includes/pomo/entry.php
/var/www/wordpress/wp-includes/pomo/mo.php
/var/www/wordpress/wp-includes/pomo/po.php
/var/www/wordpress/wp-includes/pomo/streams.php
/var/www/wordpress/wp-includes/pomo/translations.php
/var/www/wordpress/wp-includes/Text/Diff/Engine/native.php
/var/www/wordpress/wp-includes/Text/Diff/Engine/shell.php
/var/www/wordpress/wp-includes/Text/Diff/Engine/string.php
/var/www/wordpress/wp-includes/Text/Diff/Engine/xdiff.php
/var/www/wordpress/wp-includes/Text/Diff/Renderer/inline.php
/var/www/wordpress/wp-includes/Text/Diff/Renderer.php
/var/www/wordpress/wp-includes/Text/Diff.php
/var/www/wordpress/wp-includes/theme-compat/comments-popup.php
/var/www/wordpress/wp-includes/theme-compat/comments.php
/var/www/wordpress/wp-includes/theme-compat/footer.php
/var/www/wordpress/wp-includes/theme-compat/header.php
/var/www/wordpress/wp-includes/theme-compat/sidebar.php
/var/www/wordpress/wp-includes/atomlib.php
/var/www/wordpress/wp-includes/author-template.php
/var/www/wordpress/wp-includes/bookmark-template.php
/var/www/wordpress/wp-includes/bookmark.php
/var/www/wordpress/wp-includes/cache.php
/var/www/wordpress/wp-includes/canonical.php
/var/www/wordpress/wp-includes/capabilities.php
/var/www/wordpress/wp-includes/category-template.php
/var/www/wordpress/wp-includes/category.php
/var/www/wordpress/wp-includes/class-feed.php
/var/www/wordpress/wp-includes/class-http.php
/var/www/wordpress/wp-includes/class-IXR.php
/var/www/wordpress/wp-includes/class-json.php
/var/www/wordpress/wp-includes/class-oembed.php
/var/www/wordpress/wp-includes/class-phpass.php
/var/www/wordpress/wp-includes/class-phpmailer.php
/var/www/wordpress/wp-includes/class-pop3.php
/var/www/wordpress/wp-includes/class-simplepie.php
/var/www/wordpress/wp-includes/class-smtp.php
/var/www/wordpress/wp-includes/class-snoopy.php
/var/www/wordpress/wp-includes/class.wp-dependencies.php
/var/www/wordpress/wp-includes/class.wp-scripts.php
/var/www/wordpress/wp-includes/class.wp-styles.php
/var/www/wordpress/wp-includes/classes.php
/var/www/wordpress/wp-includes/comment-template.php
/var/www/wordpress/wp-includes/comment.php
/var/www/wordpress/wp-includes/compat.php
/var/www/wordpress/wp-includes/cron.php
/var/www/wordpress/wp-includes/default-constants.php
/var/www/wordpress/wp-includes/default-embeds.php
/var/www/wordpress/wp-includes/default-filters.php
/var/www/wordpress/wp-includes/default-widgets.php
/var/www/wordpress/wp-includes/deprecated.php
/var/www/wordpress/wp-includes/feed-atom-comments.php
/var/www/wordpress/wp-includes/feed-atom.php
/var/www/wordpress/wp-includes/feed-rdf.php
/var/www/wordpress/wp-includes/feed-rss.php
/var/www/wordpress/wp-includes/feed-rss2-comments.php
/var/www/wordpress/wp-includes/feed-rss2.php
/var/www/wordpress/wp-includes/feed.php
/var/www/wordpress/wp-includes/formatting.php
/var/www/wordpress/wp-includes/functions.php
/var/www/wordpress/wp-includes/functions.wp-scripts.php
/var/www/wordpress/wp-includes/functions.wp-styles.php
/var/www/wordpress/wp-includes/general-template.php
/var/www/wordpress/wp-includes/http.php
/var/www/wordpress/wp-includes/kses.php
/var/www/wordpress/wp-includes/l10n.php
/var/www/wordpress/wp-includes/link-template.php
/var/www/wordpress/wp-includes/load.php
#CodeDescriptions
1<?php
2/**
3 * These functions are needed to load WordPress.
4 *
5 * @package WordPress
6 */
7
8/**
9 * Turn register globals off.
10 *
11 * @access private
12 * @since 2.1.0
13 * @return null Will return null if register_globals PHP directive was disabled
14 */
15function wp_unregister_GLOBALS() {
16 if ( !ini_get( 'register_globals' ) )
17 return;
18
19 if ( isset( $_REQUEST['GLOBALS'] ) )
20 die( /*WP_I18N_GLOBALS_OVERWRITE*/'GLOBALS overwrite attempt detected'/*/WP_I18N_GLOBALS_OVERWRITE*/ );
21
22 // Variables that shouldn't be unset
23 $no_unset = array( 'GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix' );
24
25 $input = array_merge( $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset( $_SESSION ) && is_array( $_SESSION ) ? $_SESSION : array() );
26 foreach ( $input as $k => $v )
27 if ( !in_array( $k, $no_unset ) && isset( $GLOBALS[$k] ) ) {
28 $GLOBALS[$k] = null;
29 unset( $GLOBALS[$k] );
30 }
31}
32
33/**
34 * Fix $_SERVER variables for various setups.
35 *
36 * @access private
37 * @since 3.0.0
38 */
39function wp_fix_server_vars() {
40 global $PHP_SELF;
41
42 $default_server_values = array(
43 'SERVER_SOFTWARE' => '',
44 'REQUEST_URI' => '',
45 );
46
47 $_SERVER = array_merge( $default_server_values, $_SERVER );
48
49 // Fix for IIS when running with PHP ISAPI
50 if ( empty( $_SERVER['REQUEST_URI'] ) || ( php_sapi_name() != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) ) {
51
52 // IIS Mod-Rewrite
53 if ( isset( $_SERVER['HTTP_X_ORIGINAL_URL'] ) ) {
54 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
55 }
56 // IIS Isapi_Rewrite
57 else if ( isset( $_SERVER['HTTP_X_REWRITE_URL'] ) ) {
58 $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
59 } else {
60 // Use ORIG_PATH_INFO if there is no PATH_INFO
61 if ( !isset( $_SERVER['PATH_INFO'] ) && isset( $_SERVER['ORIG_PATH_INFO'] ) )
62 $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
63
64 // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
65 if ( isset( $_SERVER['PATH_INFO'] ) ) {
66 if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
67 $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
68 else
69 $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
70 }
71
72 // Append the query string if it exists and isn't null
73 if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
74 $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
75 }
76 }
77 }
78
79 // Fix for PHP as CGI hosts that set SCRIPT_FILENAME to something ending in php.cgi for all requests
80 if ( isset( $_SERVER['SCRIPT_FILENAME'] ) && ( strpos( $_SERVER['SCRIPT_FILENAME'], 'php.cgi' ) == strlen( $_SERVER['SCRIPT_FILENAME'] ) - 7 ) )
81 $_SERVER['SCRIPT_FILENAME'] = $_SERVER['PATH_TRANSLATED'];
82
83 // Fix for Dreamhost and other PHP as CGI hosts
84 if ( strpos( $_SERVER['SCRIPT_NAME'], 'php.cgi' ) !== false )
85 unset( $_SERVER['PATH_INFO'] );
86
87 // Fix empty PHP_SELF
88 $PHP_SELF = $_SERVER['PHP_SELF'];
89 if ( empty( $PHP_SELF ) )
90 $_SERVER['PHP_SELF'] = $PHP_SELF = preg_replace( '/(\?.*)?$/', '', $_SERVER["REQUEST_URI"] );
91}
92
93/**
94 * Check for the required PHP version, and the MySQL extension or a database drop-in.
95 *
96 * Dies if requirements are not met.
97 *
98 * @access private
99 * @since 3.0.0
100 */
101function wp_check_php_mysql_versions() {
102 // we can probably extend this function to check if wp_die() exists then use translated strings, and then use it in install.php etc.
103
104 global $required_php_version, $wp_version;//Arbitrary code inclusion
105 $php_version = phpversion();
106 if ( version_compare( $required_php_version, $php_version, '>' ) )
107 die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.'/*/WP_I18N_OLD_PHP*/, $php_version, $wp_version, $required_php_version ) );//Arbitrary code inclusion
108
109 if ( !extension_loaded( 'mysql' ) && !file_exists( WP_CONTENT_DIR . '/db.php' ) )
110 die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ );
111}
112
113/**
114 * Don't load all of WordPress when handling a favicon.ico request.
115 * Instead, send the headers for a zero-length favicon and bail.
116 *
117 * @since 3.0.0
118 */
119function wp_favicon_request() {
120 if ( '/favicon.ico' == $_SERVER['REQUEST_URI'] ) {
121 header('Content-Type: image/vnd.microsoft.icon');
122 header('Content-Length: 0');
123 exit;
124 }
125}
126
127/**
128 * Dies with a maintenance message when conditions are met.
129 *
130 * Checks for a file in the WordPress root directory named ".maintenance".
131 * This file will contain the variable $upgrading, set to the time the file
132 * was created. If the file was created less than 10 minutes ago, WordPress
133 * enters maintenance mode and displays a message.
134 *
135 * The default message can be replaced by using a drop-in (maintenance.php in
136 * the wp-content directory).
137 *
138 * @access private
139 * @since 3.0.0
140 */
141function wp_maintenance() {
142 if ( !file_exists( ABSPATH . '.maintenance' ) || defined( 'WP_INSTALLING' ) )
143 return;
144
145 global $upgrading;
146
147 include( ABSPATH . '.maintenance' );
148 // If the $upgrading timestamp is older than 10 minutes, don't die.
149 if ( ( time() - $upgrading ) >= 600 )
150 return;
151
152 if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
153 require_once( WP_CONTENT_DIR . '/maintenance.php' );
154 die();
155 }
156
157 $protocol = $_SERVER["SERVER_PROTOCOL"];
158 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
159 $protocol = 'HTTP/1.0';
160 header( "$protocol 503 Service Unavailable", true, 503 );//Cross Site Scripting
161 header( 'Content-Type: text/html; charset=utf-8' );
162 header( 'Retry-After: 600' );
163?>
164 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
165 <html xmlns="http://www.w3.org/1999/xhtml">
166 <head>
167 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
168 <title><?php echo /*WP_I18N_MAINTENANCE*/'Maintenance'/*/WP_I18N_MAINTENANCE*/; ?></title>
169
170 </head>
171 <body>
172 <h1><?php echo /*WP_I18N_MAINT_MSG*/'Briefly unavailable for scheduled maintenance. Check back in a minute.'/*/WP_I18N_MAINT_MSG*/; ?></h1>
173 </body>
174 </html>
175<?php
176 die();
177}
178
179/**
180 * PHP 4 standard microtime start capture.
181 *
182 * @access private
183 * @since 0.71
184 * @global int $timestart Seconds and Microseconds added together from when function is called.
185 * @return bool Always returns true.
186 */
187function timer_start() {
188 global $timestart;
189 $mtime = explode( ' ', microtime() );
190 $timestart = $mtime[1] + $mtime[0];
191 return true;
192}
193
194/**
195 * Return and/or display the time from the page start to when function is called.
196 *
197 * You can get the results and print them by doing:
198 * <code>
199 * $nTimePageTookToExecute = timer_stop();
200 * echo $nTimePageTookToExecute;//Cross Site Scripting
201 * </code>
202 *
203 * Or instead, you can do:
204 * <code>
205 * timer_stop(1);
206 * </code>
207 * which will do what the above does. If you need the result, you can assign it to a variable, but
208 * most cases, you only need to echo it.
209 *
210 * @since 0.71
211 * @global int $timestart Seconds and Microseconds added together from when timer_start() is called
212 * @global int $timeend Seconds and Microseconds added together from when function is called
213 *
214 * @param int $display Use '0' or null to not echo anything and 1 to echo the total time
215 * @param int $precision The amount of digits from the right of the decimal to display. Default is 3.
216 * @return float The "second.microsecond" finished time calculation
217 */
218function timer_stop( $display = 0, $precision = 3 ) { // if called like timer_stop(1), will echo $timetotal
219 global $timestart, $timeend;
220 $mtime = microtime();
221 $mtime = explode( ' ', $mtime );
222 $timeend = $mtime[1] + $mtime[0];
223 $timetotal = $timeend - $timestart;
224 $r = ( function_exists( 'number_format_i18n' ) ) ? number_format_i18n( $timetotal, $precision ) : number_format( $timetotal, $precision );
225 if ( $display )
226 echo $r;//Cross Site Scripting
227 return $r;
228}
229
230/**
231 * Sets PHP error handling and handles WordPress debug mode.
232 *
233 * Uses three constants: WP_DEBUG, WP_DEBUG_DISPLAY, and WP_DEBUG_LOG. All three can be
234 * defined in wp-config.php. Example: <code> define( 'WP_DEBUG', true ); </code>
235 *
236 * WP_DEBUG_DISPLAY and WP_DEBUG_LOG perform no function unless WP_DEBUG is true.
237 * WP_DEBUG defaults to false.
238 *
239 * When WP_DEBUG is true, all PHP notices are reported. WordPress will also display
240 * notices, including one when a deprecated WordPress function, function argument,
241 * or file is used. Deprecated code may be removed from a later version.
242 *
243 * It is strongly recommended that plugin and theme developers use WP_DEBUG in their
244 * development environments.
245 *
246 * When WP_DEBUG_DISPLAY is true, WordPress will force errors to be displayed.
247 * WP_DEBUG_DISPLAY defaults to true. Defining it as false prevents WordPress from
248 * changing the global configuration setting. (Defining WP_DEBUG_DISPLAY as false
249 * will never force errors to be hidden.)
250 *
251 * When WP_DEBUG_LOG is true, errors will be logged to wp-content/debug.log.
252 * WP_DEBUG_LOG defaults to false.
253 *
254 * @access private
255 * @since 3.0.0
256 */
257function wp_debug_mode() {
258 if ( WP_DEBUG ) {
259 if ( defined( 'E_DEPRECATED' ) )
260 error_reporting( E_ALL & ~E_DEPRECATED & ~E_STRICT );
261 else
262 error_reporting( E_ALL );
263
264 if ( WP_DEBUG_DISPLAY )
265 ini_set( 'display_errors', 1 );
266
267 if ( WP_DEBUG_LOG ) {
268 ini_set( 'log_errors', 1 );
269 ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
270 }
271 } else {
272 if ( defined( 'E_RECOVERABLE_ERROR' ) )
273 error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
274 else
275 error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );
276 }
277}
278
279/**
280 * Sets the location of the language directory.
281 *
282 * To set directory manually, define <code>WP_LANG_DIR</code> in wp-config.php.
283 *
284 * First looks for language folder in WP_CONTENT_DIR and uses that folder if it
285 * exists. Or it uses the "languages" folder in WPINC.
286 *
287 * The WP_LANG_DIR constant was introduced in 2.1.0.
288 *
289 * @access private
290 * @since 3.0.0
291 */
292function wp_set_lang_dir() {
293 if ( !defined( 'WP_LANG_DIR' ) ) {
294 if ( file_exists( WP_CONTENT_DIR . '/languages' ) && @is_dir( WP_CONTENT_DIR . '/languages' ) ) {
295 define( 'WP_LANG_DIR', WP_CONTENT_DIR . '/languages' ); // no leading slash, no trailing slash, full path, not relative to ABSPATH
296 if ( !defined( 'LANGDIR' ) ) {
297 // Old static relative path maintained for limited backwards compatibility - won't work in some cases
298 define( 'LANGDIR', 'wp-content/languages' );
299 }
300 } else {
301 define( 'WP_LANG_DIR', ABSPATH . WPINC . '/languages' ); // no leading slash, no trailing slash, full path, not relative to ABSPATH
302 if ( !defined( 'LANGDIR' ) ) {
303 // Old relative path maintained for backwards compatibility
304 define( 'LANGDIR', WPINC . '/languages' );
305 }
306 }
307 }
308}
309
310/**
311 * Sets the database table prefix and the format specifiers for database table columns.
312 *
313 * Columns not listed here default to %s.
314 *
315 * @see wpdb::$field_types Since 2.8.0
316 * @see wpdb::prepare()
317 * @see wpdb::insert()
318 * @see wpdb::update()
319 * @see wpdb::set_prefix()
320 *
321 * @access private
322 * @since 3.0.0
323 */
324function wp_set_wpdb_vars() {
325 global $wpdb, $table_prefix;
326 if ( !empty( $wpdb->error ) )
327 dead_db();
328
329 $wpdb->field_types = array( 'post_author' => '%d', 'post_parent' => '%d', 'menu_order' => '%d', 'term_id' => '%d', 'term_group' => '%d', 'term_taxonomy_id' => '%d',
330 'parent' => '%d', 'count' => '%d','object_id' => '%d', 'term_order' => '%d', 'ID' => '%d', 'commment_ID' => '%d', 'comment_post_ID' => '%d', 'comment_parent' => '%d',
331 'user_id' => '%d', 'link_id' => '%d', 'link_owner' => '%d', 'link_rating' => '%d', 'option_id' => '%d', 'blog_id' => '%d', 'meta_id' => '%d', 'post_id' => '%d',
332 'user_status' => '%d', 'umeta_id' => '%d', 'comment_karma' => '%d', 'comment_count' => '%d',
333 // multisite:
334 'active' => '%d', 'cat_id' => '%d', 'deleted' => '%d', 'lang_id' => '%d', 'mature' => '%d', 'public' => '%d', 'site_id' => '%d', 'spam' => '%d',
335 );
336
337 $prefix = $wpdb->set_prefix( $table_prefix );
338
339 if ( is_wp_error( $prefix ) )
340 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*/ );
341}
342
343/**
344 * Starts the WordPress object cache.
345 *
346 * If an object-cache.php file exists in the wp-content directory,
347 * it uses that drop-in as an external object cache.
348 *
349 * @access private
350 * @since 3.0.0
351 */
352function wp_start_object_cache() {
353 global $_wp_using_ext_object_cache;
354
355 $first_init = false;
356 if ( ! function_exists( 'wp_cache_init' ) ) {
357 if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
358 require_once ( WP_CONTENT_DIR . '/object-cache.php' );
359 $_wp_using_ext_object_cache = true;
360 } else {
361 require_once ( ABSPATH . WPINC . '/cache.php' );
362 $_wp_using_ext_object_cache = false;
363 }
364 $first_init = true;
365 } else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
366 // Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
367 // This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
368 // being set incorrectly. Double check if an external cache exists.
369 $_wp_using_ext_object_cache = true;
370 }
371
372 // If cache supports reset, reset instead of init if already initialized.
373 // Reset signals to the cache that global IDs have changed and it may need to update keys
374 // and cleanup caches.
375 if ( !$first_init && function_exists('wp_cache_reset') )
376 wp_cache_reset();
377 else
378 wp_cache_init();
379
380 if ( function_exists( 'wp_cache_add_global_groups' ) ) {
381 wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
382 wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
383 }
384}
385
386/**
387 * Redirects to the installer if WordPress is not installed.
388 *
389 * Dies with an error message when multisite is enabled.
390 *
391 * @access private
392 * @since 3.0.0
393 */
394function wp_not_installed() {
395 if ( is_multisite() ) {
396 if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) )
397 wp_die( __( 'The site you have requested is not installed properly. Please contact the system administrator.' ) );
398 } elseif ( ! is_blog_installed() && false === strpos( $_SERVER['PHP_SELF'], 'install.php' ) && !defined( 'WP_INSTALLING' ) ) {
399 if ( defined( 'WP_SITEURL' ) )
400 $link = WP_SITEURL . '/wp-admin/install.php';
401 elseif ( false !== strpos( $_SERVER['PHP_SELF'], 'wp-admin' ) )
402 $link = preg_replace( '|/wp-admin/?.*?$|', '/', $_SERVER['PHP_SELF'] ) . 'wp-admin/install.php';
403 else
404 $link = preg_replace( '|/[^/]+?$|', '/', $_SERVER['PHP_SELF'] ) . 'wp-admin/install.php';
405 require( ABSPATH . WPINC . '/kses.php' );
406 require( ABSPATH . WPINC . '/pluggable.php' );
407 require( ABSPATH . WPINC . '/formatting.php' );
408 wp_redirect( $link );
409 die();
410 }
411}
412
413/**
414 * Returns array of must-use plugin files to be included in global scope.
415 *
416 * The default directory is wp-content/mu-plugins. To change the default directory
417 * manually, define <code>WPMU_PLUGIN_DIR</code> and <code>WPMU_PLUGIN_URL</code>
418 * in wp-config.php.
419 *
420 * @access private
421 * @since 3.0.0
422 * @return array Files to include
423 */
424function wp_get_mu_plugins() {
425 $mu_plugins = array();
426 if ( !is_dir( WPMU_PLUGIN_DIR ) )
427 return $mu_plugins;
428 if ( ! $dh = opendir( WPMU_PLUGIN_DIR ) )
429 return $mu_plugins;
430 while ( ( $plugin = readdir( $dh ) ) !== false ) {
431 if ( substr( $plugin, -4 ) == '.php' )
432 $mu_plugins[] = WPMU_PLUGIN_DIR . '/' . $plugin;
433 }
434 closedir( $dh );
435 sort( $mu_plugins );
436
437 return $mu_plugins;
438}
439
440/**
441 * Returns array of plugin files to be included in global scope.
442 *
443 * The default directory is wp-content/plugins. To change the default directory
444 * manually, define <code>WP_PLUGIN_DIR</code> and <code>WP_PLUGIN_URL</code>
445 * in wp-config.php.
446 *
447 * @access private
448 * @since 3.0.0
449 * @return array Files to include
450 */
451function wp_get_active_and_valid_plugins() {
452 $plugins = array();
453 $active_plugins = (array) get_option( 'active_plugins', array() );
454
455 // Get active network plugins
456 if ( is_multisite() ) {
457 $active_sitewide_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
458 if ( !empty($active_sitewide_plugins) ) {
459 $active_plugins = array_merge( $active_plugins, array_keys( $active_sitewide_plugins ) );
460 sort( $active_plugins );
461 }
462 }
463
464 // Check for hacks file if the option is enabled
465 if ( get_option( 'hack_file' ) && file_exists( ABSPATH . 'my-hacks.php' ) ) {
466 _deprecated_file( 'my-hacks.php', '1.5' );
467 array_unshift( $plugins, ABSPATH . 'my-hacks.php' );
468 }
469
470 if ( empty( $active_plugins ) || defined( 'WP_INSTALLING' ) )
471 return $plugins;
472
473 foreach ( $active_plugins as $plugin ) {
474 if ( ! validate_file( $plugin ) // $plugin must validate as file
475 && '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
476 && file_exists( WP_PLUGIN_DIR . '/' . $plugin ) // $plugin must exist
477 )
478 $plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
479 }
480 return $plugins;
481}
482
483/**
484 * Sets internal encoding using mb_internal_encoding().
485 *
486 * In most cases the default internal encoding is latin1, which is of no use,
487 * since we want to use the mb_ functions for utf-8 strings.
488 *
489 * @access private
490 * @since 3.0.0
491 */
492function wp_set_internal_encoding() {
493 if ( function_exists( 'mb_internal_encoding' ) ) {
494 if ( !@mb_internal_encoding( get_option( 'blog_charset' ) ) )
495 mb_internal_encoding( 'UTF-8' );
496 }
497}
498
499/**
500 * Add magic quotes to $_GET, $_POST, $_COOKIE, and $_SERVER.
501 *
502 * Also forces $_REQUEST to be $_GET + $_POST. If $_SERVER, $_COOKIE,
503 * or $_ENV are needed, use those superglobals directly.
504 *
505 * @access private
506 * @since 3.0.0
507 */
508function wp_magic_quotes() {
509 // If already slashed, strip.
510 if ( get_magic_quotes_gpc() ) {
511 $_GET = stripslashes_deep( $_GET );
512 $_POST = stripslashes_deep( $_POST );
513 $_COOKIE = stripslashes_deep( $_COOKIE );
514 }
515
516 // Escape with wpdb.
517 $_GET = add_magic_quotes( $_GET );
518 $_POST = add_magic_quotes( $_POST );
519 $_COOKIE = add_magic_quotes( $_COOKIE );
520 $_SERVER = add_magic_quotes( $_SERVER );
521
522 // Force REQUEST to be GET + POST.
523 $_REQUEST = array_merge( $_GET, $_POST );
524}
525
526/**
527 * Runs just before PHP shuts down execution.
528 *
529 * @access private
530 * @since 1.2.0
531 */
532function shutdown_action_hook() {
533 do_action( 'shutdown' );
534 wp_cache_close();
535}
536
537/**
538 * Copy an object.
539 *
540 * Returns a cloned copy of an object.
541 *
542 * @since 2.7.0
543 *
544 * @param object $object The object to clone
545 * @return object The cloned object
546 */
547function wp_clone( $object ) {
548 static $can_clone;
549 if ( !isset( $can_clone ) )
550 $can_clone = version_compare( phpversion(), '5.0', '>=' );
551
552 return $can_clone ? clone( $object ) : $object;
553}
554
555/**
556 * Whether the current request is in WordPress admin Panel
557 *
558 * Does not inform on whether the user is an admin! Use capability checks to
559 * tell if the user should be accessing a section or not.
560 *
561 * @since 1.5.1
562 *
563 * @return bool True if inside WordPress administration pages.
564 */
565function is_admin() {
566 if ( defined( 'WP_ADMIN' ) )
567 return WP_ADMIN;
568 return false;
569}
570
571/**
572 * Whether Multisite support is enabled
573 *
574 * @since 3.0.0
575 *
576 * @return bool True if multisite is enabled, false otherwise.
577 */
578function is_multisite() {
579 if ( defined( 'MULTISITE' ) )
580 return MULTISITE;
581
582 if ( defined( 'VHOST' ) || defined( 'SUNRISE' ) )
583 return true;
584
585 return false;
586}
587
588?>
589
/var/www/wordpress/wp-includes/locale.php
/var/www/wordpress/wp-includes/media.php
/var/www/wordpress/wp-includes/meta.php
/var/www/wordpress/wp-includes/ms-blogs.php
/var/www/wordpress/wp-includes/ms-default-constants.php
/var/www/wordpress/wp-includes/ms-default-filters.php
/var/www/wordpress/wp-includes/ms-deprecated.php
/var/www/wordpress/wp-includes/ms-files.php
/var/www/wordpress/wp-includes/ms-functions.php
/var/www/wordpress/wp-includes/ms-load.php
/var/www/wordpress/wp-includes/ms-settings.php
/var/www/wordpress/wp-includes/nav-menu-template.php
/var/www/wordpress/wp-includes/nav-menu.php
/var/www/wordpress/wp-includes/pluggable-deprecated.php
/var/www/wordpress/wp-includes/pluggable.php
/var/www/wordpress/wp-includes/plugin.php
/var/www/wordpress/wp-includes/post-template.php
/var/www/wordpress/wp-includes/post-thumbnail-template.php
/var/www/wordpress/wp-includes/post.php
/var/www/wordpress/wp-includes/query.php
/var/www/wordpress/wp-includes/registration-functions.php
/var/www/wordpress/wp-includes/registration.php
/var/www/wordpress/wp-includes/rewrite.php
/var/www/wordpress/wp-includes/rss-functions.php
/var/www/wordpress/wp-includes/rss.php
/var/www/wordpress/wp-includes/script-loader.php
/var/www/wordpress/wp-includes/shortcodes.php
/var/www/wordpress/wp-includes/taxonomy.php
/var/www/wordpress/wp-includes/template-loader.php
/var/www/wordpress/wp-includes/theme.php
/var/www/wordpress/wp-includes/update.php
/var/www/wordpress/wp-includes/user.php
/var/www/wordpress/wp-includes/vars.php
/var/www/wordpress/wp-includes/version.php
/var/www/wordpress/wp-includes/widgets.php
/var/www/wordpress/wp-includes/wp-db.php
/var/www/wordpress/wp-includes/wp-diff.php
/var/www/wordpress/index.php
/var/www/wordpress/wp-activate.php
/var/www/wordpress/wp-app.php
/var/www/wordpress/wp-atom.php
/var/www/wordpress/wp-blog-header.php
/var/www/wordpress/wp-comments-post.php
/var/www/wordpress/wp-commentsrss2.php
/var/www/wordpress/wp-config-sample.php
/var/www/wordpress/wp-cron.php
/var/www/wordpress/wp-feed.php
/var/www/wordpress/wp-links-opml.php
/var/www/wordpress/wp-load.php
/var/www/wordpress/wp-login.php
/var/www/wordpress/wp-mail.php
/var/www/wordpress/wp-pass.php
/var/www/wordpress/wp-rdf.php
/var/www/wordpress/wp-register.php
/var/www/wordpress/wp-rss.php
/var/www/wordpress/wp-rss2.php
/var/www/wordpress/wp-settings.php
/var/www/wordpress/wp-signup.php
/var/www/wordpress/wp-trackback.php
/var/www/wordpress/xmlrpc.php