wp/wp-admin/admin.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 16 a86126ab1dd4
--- a/wp/wp-admin/admin.php	Mon Oct 14 18:06:33 2019 +0200
+++ b/wp/wp-admin/admin.php	Mon Oct 14 18:28:13 2019 +0200
@@ -15,26 +15,29 @@
 	define( 'WP_ADMIN', true );
 }
 
-if ( ! defined('WP_NETWORK_ADMIN') )
-	define('WP_NETWORK_ADMIN', false);
+if ( ! defined( 'WP_NETWORK_ADMIN' ) ) {
+	define( 'WP_NETWORK_ADMIN', false );
+}
 
-if ( ! defined('WP_USER_ADMIN') )
-	define('WP_USER_ADMIN', false);
+if ( ! defined( 'WP_USER_ADMIN' ) ) {
+	define( 'WP_USER_ADMIN', false );
+}
 
 if ( ! WP_NETWORK_ADMIN && ! WP_USER_ADMIN ) {
-	define('WP_BLOG_ADMIN', true);
+	define( 'WP_BLOG_ADMIN', true );
 }
 
-if ( isset($_GET['import']) && !defined('WP_LOAD_IMPORTERS') )
-	define('WP_LOAD_IMPORTERS', true);
+if ( isset( $_GET['import'] ) && ! defined( 'WP_LOAD_IMPORTERS' ) ) {
+	define( 'WP_LOAD_IMPORTERS', true );
+}
 
-require_once(dirname(dirname(__FILE__)) . '/wp-load.php');
+require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
 nocache_headers();
 
-if ( get_option('db_upgraded') ) {
+if ( get_option( 'db_upgraded' ) ) {
 	flush_rewrite_rules();
-	update_option( 'db_upgraded',  false );
+	update_option( 'db_upgraded', false );
 
 	/**
 	 * Fires on the next page load after a successful DB upgrade.
@@ -42,25 +45,25 @@
 	 * @since 2.8.0
 	 */
 	do_action( 'after_db_upgrade' );
-} elseif ( get_option('db_version') != $wp_db_version && empty($_POST) ) {
-	if ( !is_multisite() ) {
+} elseif ( get_option( 'db_version' ) != $wp_db_version && empty( $_POST ) ) {
+	if ( ! is_multisite() ) {
 		wp_redirect( admin_url( 'upgrade.php?_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) );
 		exit;
 
-	/**
-	 * Filters 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, 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.
-	 *
-	 * @since 3.0.0
-	 *
-	 * @param bool $do_mu_upgrade Whether to perform the Multisite upgrade routine. Default true.
-	 */
+		/**
+		 * Filters 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, 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.
+		 *
+		 * @since 3.0.0
+		 *
+		 * @param bool $do_mu_upgrade Whether to perform the Multisite upgrade routine. Default true.
+		 */
 	} elseif ( apply_filters( 'do_mu_upgrade', true ) ) {
 		$c = get_blog_count();
 
@@ -68,24 +71,31 @@
 		 * 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 ) ) {
+		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' ) );
+			$response = wp_remote_get(
+				admin_url( 'upgrade.php?step=1' ),
+				array(
+					'timeout'     => 120,
+					'httpversion' => '1.1',
+				)
+			);
 			/** This action is documented in wp-admin/network/upgrade.php */
 			do_action( 'after_mu_upgrade', $response );
-			unset($response);
+			unset( $response );
 		}
-		unset($c);
+		unset( $c );
 	}
 }
 
-require_once(ABSPATH . 'wp-admin/includes/admin.php');
+require_once( ABSPATH . 'wp-admin/includes/admin.php' );
 
 auth_redirect();
 
 // Schedule trash collection
-if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) && ! wp_installing() )
-	wp_schedule_event(time(), 'daily', 'wp_scheduled_delete');
+if ( ! wp_next_scheduled( 'wp_scheduled_delete' ) && ! wp_installing() ) {
+	wp_schedule_event( time(), 'daily', 'wp_scheduled_delete' );
+}
 
 // Schedule Transient cleanup.
 if ( ! wp_next_scheduled( 'delete_expired_transients' ) && ! wp_installing() ) {
@@ -117,27 +127,30 @@
 
 $editing = false;
 
-if ( isset($_GET['page']) ) {
+if ( isset( $_GET['page'] ) ) {
 	$plugin_page = wp_unslash( $_GET['page'] );
-	$plugin_page = plugin_basename($plugin_page);
+	$plugin_page = plugin_basename( $plugin_page );
+}
+
+if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) {
+	$typenow = $_REQUEST['post_type'];
+} else {
+	$typenow = '';
 }
 
-if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) )
-	$typenow = $_REQUEST['post_type'];
-else
-	$typenow = '';
-
-if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) )
+if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) ) {
 	$taxnow = $_REQUEST['taxonomy'];
-else
+} else {
 	$taxnow = '';
+}
 
-if ( WP_NETWORK_ADMIN )
-	require(ABSPATH . 'wp-admin/network/menu.php');
-elseif ( WP_USER_ADMIN )
-	require(ABSPATH . 'wp-admin/user/menu.php');
-else
-	require(ABSPATH . 'wp-admin/menu.php');
+if ( WP_NETWORK_ADMIN ) {
+	require( ABSPATH . 'wp-admin/network/menu.php' );
+} elseif ( WP_USER_ADMIN ) {
+	require( ABSPATH . 'wp-admin/user/menu.php' );
+} else {
+	require( ABSPATH . 'wp-admin/menu.php' );
+}
 
 if ( current_user_can( 'manage_options' ) ) {
 	wp_raise_memory_limit( 'admin' );
@@ -155,26 +168,30 @@
  */
 do_action( 'admin_init' );
 
-if ( isset($plugin_page) ) {
-	if ( !empty($typenow) )
+if ( isset( $plugin_page ) ) {
+	if ( ! empty( $typenow ) ) {
 		$the_parent = $pagenow . '?post_type=' . $typenow;
-	else
+	} else {
 		$the_parent = $pagenow;
-	if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
-		$page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
+	}
+
+	$page_hook = get_plugin_page_hook( $plugin_page, $the_parent );
+	if ( ! $page_hook ) {
+		$page_hook = get_plugin_page_hook( $plugin_page, $plugin_page );
 
 		// Back-compat for plugins using add_management_page().
-		if ( empty( $page_hook ) && 'edit.php' == $pagenow && '' != get_plugin_page_hook($plugin_page, 'tools.php') ) {
+		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' ]) )
-				$query_string = $_SERVER[ 'QUERY_STRING' ];
-			else
+			if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
+				$query_string = $_SERVER['QUERY_STRING'];
+			} else {
 				$query_string = 'page=' . $plugin_page;
-			wp_redirect( admin_url('tools.php?' . $query_string) );
+			}
+			wp_redirect( admin_url( 'tools.php?' . $query_string ) );
 			exit;
 		}
 	}
-	unset($the_parent);
+	unset( $the_parent );
 }
 
 $hook_suffix = '';
@@ -189,7 +206,7 @@
 set_current_screen();
 
 // Handle plugin admin pages.
-if ( isset($plugin_page) ) {
+if ( isset( $plugin_page ) ) {
 	if ( $page_hook ) {
 		/**
 		 * Fires before a particular screen is loaded.
@@ -212,13 +229,25 @@
 		 * @since 2.1.0
 		 */
 		do_action( "load-{$page_hook}" );
-		if (! isset($_GET['noheader']))
-			require_once(ABSPATH . 'wp-admin/admin-header.php');
+		if ( ! isset( $_GET['noheader'] ) ) {
+			require_once( ABSPATH . 'wp-admin/admin-header.php' );
+		}
 
 		/**
 		 * Used to call the registered callback for a plugin screen.
 		 *
-		 * @ignore
+		 * This hook uses a dynamic hook name, `$page_hook`, which 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,
+		 * the hook name used would be 'settings_page_pluginbasename'.
+		 *
+		 * @see get_plugin_page_hook()
+		 *
 		 * @since 1.5.0
 		 */
 		do_action( $page_hook );
@@ -227,8 +256,9 @@
 			wp_die( __( 'Invalid plugin page.' ) );
 		}
 
-		if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
-			wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
+		if ( ! ( file_exists( WP_PLUGIN_DIR . "/$plugin_page" ) && is_file( WP_PLUGIN_DIR . "/$plugin_page" ) ) && ! ( file_exists( WPMU_PLUGIN_DIR . "/$plugin_page" ) && is_file( WPMU_PLUGIN_DIR . "/$plugin_page" ) ) ) {
+			wp_die( sprintf( __( 'Cannot load %s.' ), htmlentities( $plugin_page ) ) );
+		}
 
 		/**
 		 * Fires before a particular screen is loaded.
@@ -244,16 +274,18 @@
 		 */
 		do_action( "load-{$plugin_page}" );
 
-		if ( !isset($_GET['noheader']))
-			require_once(ABSPATH . 'wp-admin/admin-header.php');
+		if ( ! isset( $_GET['noheader'] ) ) {
+			require_once( ABSPATH . 'wp-admin/admin-header.php' );
+		}
 
-		if ( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") )
-			include(WPMU_PLUGIN_DIR . "/$plugin_page");
-		else
-			include(WP_PLUGIN_DIR . "/$plugin_page");
+		if ( file_exists( WPMU_PLUGIN_DIR . "/$plugin_page" ) ) {
+			include( WPMU_PLUGIN_DIR . "/$plugin_page" );
+		} else {
+			include( WP_PLUGIN_DIR . "/$plugin_page" );
+		}
 	}
 
-	include(ABSPATH . 'wp-admin/admin-footer.php');
+	include( ABSPATH . 'wp-admin/admin-footer.php' );
 
 	exit();
 } elseif ( isset( $_GET['import'] ) ) {
@@ -264,12 +296,12 @@
 		wp_die( __( 'Sorry, you are not allowed to import content.' ) );
 	}
 
-	if ( validate_file($importer) ) {
+	if ( validate_file( $importer ) ) {
 		wp_redirect( admin_url( 'import.php?invalid=' . $importer ) );
 		exit;
 	}
 
-	if ( ! isset($wp_importers[$importer]) || ! is_callable($wp_importers[$importer][2]) ) {
+	if ( ! isset( $wp_importers[ $importer ] ) || ! is_callable( $wp_importers[ $importer ][2] ) ) {
 		wp_redirect( admin_url( 'import.php?invalid=' . $importer ) );
 		exit;
 	}
@@ -283,16 +315,17 @@
 	 */
 	do_action( "load-importer-{$importer}" );
 
-	$parent_file = 'tools.php';
+	$parent_file  = 'tools.php';
 	$submenu_file = 'import.php';
-	$title = __('Import');
+	$title        = __( 'Import' );
 
-	if (! isset($_GET['noheader']))
-		require_once(ABSPATH . 'wp-admin/admin-header.php');
+	if ( ! isset( $_GET['noheader'] ) ) {
+		require_once( ABSPATH . 'wp-admin/admin-header.php' );
+	}
 
-	require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
+	require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
 
-	define('WP_IMPORTING', true);
+	define( 'WP_IMPORTING', true );
 
 	/**
 	 * Whether to filter imported data through kses on import.
@@ -308,12 +341,12 @@
 		kses_init_filters();  // Always filter imported data with kses on multisite.
 	}
 
-	call_user_func($wp_importers[$importer][2]);
+	call_user_func( $wp_importers[ $importer ][2] );
 
-	include(ABSPATH . 'wp-admin/admin-footer.php');
+	include( ABSPATH . 'wp-admin/admin-footer.php' );
 
 	// Make sure rules are flushed
-	flush_rewrite_rules(false);
+	flush_rewrite_rules( false );
 
 	exit();
 } else {
@@ -336,28 +369,32 @@
 	 * In all other cases, 'load-' . $pagenow should be used instead.
 	 */
 	if ( $typenow == 'page' ) {
-		if ( $pagenow == 'post-new.php' )
+		if ( $pagenow == 'post-new.php' ) {
 			do_action( 'load-page-new.php' );
-		elseif ( $pagenow == 'post.php' )
+		} elseif ( $pagenow == 'post.php' ) {
 			do_action( 'load-page.php' );
-	}  elseif ( $pagenow == 'edit-tags.php' ) {
-		if ( $taxnow == 'category' )
+		}
+	} elseif ( $pagenow == 'edit-tags.php' ) {
+		if ( $taxnow == 'category' ) {
 			do_action( 'load-categories.php' );
-		elseif ( $taxnow == 'link_category' )
+		} elseif ( $taxnow == 'link_category' ) {
 			do_action( 'load-edit-link-categories.php' );
-	} elseif( 'term.php' === $pagenow ) {
+		}
+	} elseif ( 'term.php' === $pagenow ) {
 		do_action( 'load-edit-tags.php' );
 	}
 }
 
 if ( ! empty( $_REQUEST['action'] ) ) {
+	$action = $_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, `$action`, refers to
+	 * the action derived from the `GET` or `POST` request.
 	 *
 	 * @since 2.6.0
 	 */
-	do_action( 'admin_action_' . $_REQUEST['action'] );
+	do_action( "admin_action_{$action}" );
 }