X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..6c8f14c09105d0afa4c1574215c59b5021040e76:/wp-admin/includes/screen.php diff --git a/wp-admin/includes/screen.php b/wp-admin/includes/screen.php index 2fe318d9..4a409e8c 100644 --- a/wp-admin/includes/screen.php +++ b/wp-admin/includes/screen.php @@ -96,7 +96,7 @@ function get_hidden_meta_boxes( $screen ) { if ( $use_defaults ) { $hidden = array(); if ( 'post' == $screen->base ) { - if ( 'post' == $screen->post_type || 'page' == $screen->post_type ) + if ( 'post' == $screen->post_type || 'page' == $screen->post_type || 'attachment' == $screen->post_type ) $hidden = array('slugdiv', 'trackbacksdiv', 'postcustom', 'postexcerpt', 'commentstatusdiv', 'commentsdiv', 'authordiv', 'revisionsdiv'); else $hidden = array( 'slugdiv' ); @@ -243,10 +243,22 @@ final class WP_Screen { */ public $id; + /** + * Which admin the screen is in. network | user | site | false + * + * @since 3.5.0 + * @var string + * @access protected + */ + protected $in_admin; + /** * Whether the screen is in the network admin. * + * Deprecated. Use in_admin() instead. + * * @since 3.3.0 + * @deprecated 3.5.0 * @var bool * @access public */ @@ -255,7 +267,10 @@ final class WP_Screen { /** * Whether the screen is in the user admin. * + * Deprecated. Use in_admin() instead. + * * @since 3.3.0 + * @deprecated 3.5.0 * @var bool * @access public */ @@ -377,7 +392,7 @@ final class WP_Screen { return $hook_name; $post_type = $taxonomy = null; - $is_network = $is_user = false; + $in_admin = false; $action = ''; if ( $hook_name ) @@ -402,10 +417,10 @@ final class WP_Screen { if ( ! $post_type && $hook_name ) { if ( '-network' == substr( $id, -8 ) ) { $id = substr( $id, 0, -8 ); - $is_network = true; + $in_admin = 'network'; } elseif ( '-user' == substr( $id, -5 ) ) { $id = substr( $id, 0, -5 ); - $is_user = true; + $in_admin = 'user'; } $id = sanitize_key( $id ); @@ -419,13 +434,22 @@ final class WP_Screen { $post_type = $maybe; } } + + if ( ! $in_admin ) + $in_admin = 'site'; } else { - $is_network = is_network_admin(); - $is_user = is_user_admin(); + if ( defined( 'WP_NETWORK_ADMIN' ) && WP_NETWORK_ADMIN ) + $in_admin = 'network'; + elseif ( defined( 'WP_USER_ADMIN' ) && WP_USER_ADMIN ) + $in_admin = 'user'; + else + $in_admin = 'site'; } if ( 'index' == $id ) $id = 'dashboard'; + elseif ( 'front' == $id ) + $in_admin = false; $base = $id; @@ -472,14 +496,21 @@ final class WP_Screen { case 'edit-tags' : if ( null === $taxonomy ) $taxonomy = 'post_tag'; + // The edit-tags ID does not contain the post type. Look for it in the request. + if ( null === $post_type ) { + $post_type = 'post'; + if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) + $post_type = $_REQUEST['post_type']; + } + $id = 'edit-' . $taxonomy; break; } - if ( $is_network ) { + if ( 'network' == $in_admin ) { $id .= '-network'; $base .= '-network'; - } elseif ( $is_user ) { + } elseif ( 'user' == $in_admin ) { $id .= '-user'; $base .= '-user'; } @@ -497,8 +528,9 @@ final class WP_Screen { $screen->action = $action; $screen->post_type = (string) $post_type; $screen->taxonomy = (string) $taxonomy; - $screen->is_user = $is_user; - $screen->is_network = $is_network; + $screen->is_user = ( 'user' == $in_admin ); + $screen->is_network = ( 'network' == $in_admin ); + $screen->in_admin = $in_admin; self::$_registry[ $id ] = $screen; @@ -527,6 +559,23 @@ final class WP_Screen { */ private function __construct() {} + /** + * Indicates whether the screen is in a particular admin + * + * @since 3.5.0 + * + * @param string $admin The admin to check against (network | user | site). + * If empty any of the three admins will result in true. + * @return boolean True if the screen is in the indicated admin, false otherwise. + * + */ + public function in_admin( $admin = null ) { + if ( empty( $admin ) ) + return (bool) $this->in_admin; + + return ( $admin == $this->in_admin ); + } + /** * Sets the old string-based contextual help for the screen. * @@ -744,7 +793,7 @@ final class WP_Screen { ?>
-
+
@@ -757,7 +806,7 @@ final class WP_Screen { ?> @@ -827,12 +876,12 @@ final class WP_Screen { @@ -876,7 +925,7 @@ final class WP_Screen { $hidden = get_hidden_columns( $this ); ?> -