X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/72836ec95a52eacbda4dc5aa296b7dd6de08bd3b..c81aba3d563f7459dc79140e4c5be67bcf506b92:/wp-admin/admin.php diff --git a/wp-admin/admin.php b/wp-admin/admin.php index 85979327..184d5c27 100644 --- a/wp-admin/admin.php +++ b/wp-admin/admin.php @@ -11,8 +11,9 @@ * * @since 2.3.2 */ -if ( ! defined('WP_ADMIN') ) - define('WP_ADMIN', true); +if ( ! defined( 'WP_ADMIN' ) ) { + define( 'WP_ADMIN', true ); +} if ( ! defined('WP_NETWORK_ADMIN') ) define('WP_NETWORK_ADMIN', false); @@ -50,8 +51,8 @@ if ( get_option('db_upgraded') ) { * Filter whether to attempt to perform the multisite DB upgrade routine. * * In single site, the user would be redirected to wp-admin/upgrade.php. - * In multisite, it is automatically fired, but only when this filter - * returns true. + * In multisite, the DB upgrade routine is automatically fired, but only + * when this filter returns true. * * If the network is 50 sites or less, it will run every time. Otherwise, * it will throttle itself to reduce load. @@ -62,17 +63,15 @@ if ( get_option('db_upgraded') ) { */ } elseif ( apply_filters( 'do_mu_upgrade', true ) ) { $c = get_blog_count(); - // If 50 or fewer sites, run every time. Else, run "about ten percent" of the time. Shh, don't check that math. + + /* + * If there are 50 or fewer sites, run every time. Otherwise, throttle to reduce load: + * attempt to do no more than threshold value, with some +/- allowed. + */ if ( $c <= 50 || ( $c > 50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) { require_once( ABSPATH . WPINC . '/http.php' ); $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) ); - /** - * Fires after the multisite DB upgrade is complete. - * - * @since 3.0.0 - * - * @param array|WP_Error $response The upgrade response array or WP_Error on failure. - */ + /** This action is documented in wp-admin/network/upgrade.php */ do_action( 'after_mu_upgrade', $response ); unset($response); } @@ -85,7 +84,7 @@ require_once(ABSPATH . 'wp-admin/includes/admin.php'); auth_redirect(); // Schedule trash collection -if ( !wp_next_scheduled('wp_scheduled_delete') && !defined('WP_INSTALLING') ) +if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) && ! wp_installing() ) wp_schedule_event(time(), 'daily', 'wp_scheduled_delete'); set_screen_options(); @@ -95,6 +94,25 @@ $time_format = get_option('time_format'); wp_enqueue_script( 'common' ); + + + +/** + * $pagenow is set in vars.php + * $wp_importers is sometimes set in wp-admin/includes/import.php + * The remaining variables are imported as globals elsewhere, declared as globals here + * + * @global string $pagenow + * @global array $wp_importers + * @global string $hook_suffix + * @global string $plugin_page + * @global string $typenow + * @global string $taxnow + */ +global $pagenow, $wp_importers, $hook_suffix, $plugin_page, $typenow, $taxnow; + +$page_hook = null; + $editing = false; if ( isset($_GET['page']) ) { @@ -156,7 +174,8 @@ if ( isset($plugin_page) ) { $the_parent = $pagenow; if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) { $page_hook = get_plugin_page_hook($plugin_page, $plugin_page); - // backwards compatibility for plugins using add_management_page + + // Backwards compatibility for plugins using add_management_page(). if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) { // There could be plugin specific params on the URL, so we need the whole query string if ( !empty($_SERVER[ 'QUERY_STRING' ]) ) @@ -171,12 +190,13 @@ if ( isset($plugin_page) ) { } $hook_suffix = ''; -if ( isset($page_hook) ) +if ( isset( $page_hook ) ) { $hook_suffix = $page_hook; -else if ( isset($plugin_page) ) +} elseif ( isset( $plugin_page ) ) { $hook_suffix = $plugin_page; -else if ( isset($pagenow) ) +} elseif ( isset( $pagenow ) ) { $hook_suffix = $pagenow; +} set_current_screen(); @@ -189,14 +209,14 @@ if ( isset($plugin_page) ) { * The load-* hook fires in a number of contexts. This hook is for plugin screens * where a callback is provided when the screen is registered. * - * The dynamic portion of the hook name, $page_hook, refers to a mixture of plugin + * The dynamic portion of the hook name, `$page_hook`, refers to a mixture of plugin * page information including: * 1. The page type. If the plugin page is registered as a submenu page, such as for * Settings, the page type would be 'settings'. Otherwise the type is 'toplevel'. * 2. A separator of '_page_'. * 3. The plugin basename minus the file extension. * - * Together, the three parts form the $page_hook. Citing the example above, + * Together, the three parts form the `$page_hook`. Citing the example above, * the hook name used would be 'load-settings_page_pluginbasename'. * * @see get_plugin_page_hook() @@ -210,8 +230,7 @@ if ( isset($plugin_page) ) { /** * Used to call the registered callback for a plugin screen. * - * @access private - * + * @ignore * @since 1.5.0 */ do_action( $page_hook ); @@ -228,7 +247,7 @@ if ( isset($plugin_page) ) { * The load-* hook fires in a number of contexts. This hook is for plugin screens * where the file to load is directly included, rather than the use of a function. * - * The dynamic portion of the hook name, $plugin_page, refers to the plugin basename. + * The dynamic portion of the hook name, `$plugin_page`, refers to the plugin basename. * * @see plugin_basename() * @@ -248,7 +267,7 @@ if ( isset($plugin_page) ) { include(ABSPATH . 'wp-admin/admin-footer.php'); exit(); -} else if (isset($_GET['import'])) { +} elseif ( isset( $_GET['import'] ) ) { $importer = $_GET['import']; @@ -268,7 +287,7 @@ if ( isset($plugin_page) ) { /** * Fires before an importer screen is loaded. * - * The dynamic portion of the hook name, $importer, refers to the importer slug. + * The dynamic portion of the hook name, `$importer`, refers to the importer slug. * * @since 3.5.0 */ @@ -295,8 +314,9 @@ if ( isset($plugin_page) ) { * * @param bool false Whether to force data to be filtered through kses. Default false. */ - if ( apply_filters( 'force_filtered_html_on_import', false ) ) + if ( apply_filters( 'force_filtered_html_on_import', false ) ) { kses_init_filters(); // Always filter imported data with kses on multisite. + } call_user_func($wp_importers[$importer][2]); @@ -312,15 +332,19 @@ if ( isset($plugin_page) ) { * * The load-* hook fires in a number of contexts. This hook is for core screens. * - * The dynamic portion of the hook name, $pagenow, is a global variable + * The dynamic portion of the hook name, `$pagenow`, is a global variable * referring to the filename of the current page, such as 'admin.php', - * 'post-new.php' etc. A complete hook for the latter would be 'load-post-new.php'. + * 'post-new.php' etc. A complete hook for the latter would be + * 'load-post-new.php'. * * @since 2.1.0 */ do_action( 'load-' . $pagenow ); - // Backwards compatibility with old load-page-new.php, load-page.php, - // and load-categories.php actions. + + /* + * The following hooks are fired to ensure backward compatibility. + * In all other cases, 'load-' . $pagenow should be used instead. + */ if ( $typenow == 'page' ) { if ( $pagenow == 'post-new.php' ) do_action( 'load-page-new.php' ); @@ -338,8 +362,8 @@ if ( ! empty( $_REQUEST['action'] ) ) { /** * Fires when an 'action' request variable is sent. * - * The dynamic portion of the hook name, $_REQUEST['action'], - * refers to the action derived from the GET or POST request. + * The dynamic portion of the hook name, `$_REQUEST['action']`, + * refers to the action derived from the `GET` or `POST` request. * * @since 2.6.0 */