WordPress.org

Make WordPress Core

Changeset 31105


Ignore:
Timestamp:
01/08/2015 10:14:58 PM (5 years ago)
Author:
wonderboymusic
Message:

Properly declare $hook_suffix, $plugin_page, $typenow, and $taxnow as globals in wp-admin/admin.php.

Fixes #30958.

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/admin.php

    r31090 r31105  
    9191wp_enqueue_script( 'common' );
    9292
     93// $pagenow is set in vars.php
     94// The remaining variables are imported as globals elsewhere,
     95//     declared as globals here
     96global $pagenow, $hook_suffix, $plugin_page, $typenow, $taxnow;
     97
     98$page_hook = '';
     99$hook_suffix = '';
     100$plugin_page = '';
     101$typenow = '';
     102$taxnow = '';
     103
    93104$editing = false;
    94105
    95 if ( isset($_GET['page']) ) {
     106if ( isset( $_GET['page'] ) ) {
    96107    $plugin_page = wp_unslash( $_GET['page'] );
    97     $plugin_page = plugin_basename($plugin_page);
    98 }
    99 
    100 if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) )
     108    $plugin_page = plugin_basename( $plugin_page );
     109}
     110
     111if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) {
    101112    $typenow = $_REQUEST['post_type'];
    102 else
    103     $typenow = '';
    104 
    105 if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) )
     113}
     114
     115if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) ) {
    106116    $taxnow = $_REQUEST['taxonomy'];
    107 else
    108     $taxnow = '';
     117}
    109118
    110119if ( WP_NETWORK_ADMIN )
     
    145154do_action( 'admin_init' );
    146155
    147 if ( isset($plugin_page) ) {
    148     if ( !empty($typenow) )
     156if ( $plugin_page ) {
     157    if ( $typenow ) {
    149158        $the_parent = $pagenow . '?post_type=' . $typenow;
    150     else
     159    } else {
    151160        $the_parent = $pagenow;
     161    }
    152162    if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
    153163        $page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
     
    167177}
    168178
    169 $hook_suffix = '';
    170 if ( isset( $page_hook ) ) {
     179if ( $page_hook ) {
    171180    $hook_suffix = $page_hook;
    172 } elseif ( isset( $plugin_page ) ) {
     181} elseif ( $plugin_page ) {
    173182    $hook_suffix = $plugin_page;
    174 } elseif ( isset( $pagenow ) ) {
     183} elseif ( $pagenow ) {
    175184    $hook_suffix = $pagenow;
    176185}
     
    179188
    180189// Handle plugin admin pages.
    181 if ( isset($plugin_page) ) {
     190if ( $plugin_page ) {
    182191    if ( $page_hook ) {
    183192        /**
  • trunk/src/wp-admin/includes/plugin.php

    r31091 r31105  
    15091509    }
    15101510
    1511     if ( $pagenow == 'admin.php' && isset( $plugin_page ) ) {
     1511    if ( $pagenow == 'admin.php' && $plugin_page ) {
    15121512        foreach ( (array)$menu as $parent_menu ) {
    15131513            if ( $parent_menu[2] == $plugin_page ) {
     
    15261526    }
    15271527
    1528     if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) ) {
     1528    if ( $plugin_page && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) ) {
    15291529        $parent_file = $pagenow;
    15301530        if ( isset( $_wp_real_parent_file[$parent_file] ) )
     
    15371537            if ( isset( $_wp_real_parent_file[$parent] ) )
    15381538                $parent = $_wp_real_parent_file[$parent];
    1539             if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
     1539            if ( $typenow && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
    15401540                $parent_file = $parent;
    15411541                return $parent;
    1542             } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
     1542            } elseif ( $submenu_array[2] == $pagenow && ! $typenow && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
    15431543                $parent_file = $parent;
    15441544                return $parent;
    1545             } elseif ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) {
     1545            } elseif ( $plugin_page && ($plugin_page == $submenu_array[2] ) ) {
    15461546                $parent_file = $parent;
    15471547                return $parent;
     
    15761576                    $title = $menu_array[3];
    15771577                    return $menu_array[3];
    1578                 } elseif ( isset( $plugin_page ) && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
     1578                } elseif ( $plugin_page && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
    15791579                    $title = $menu_array[3];
    15801580                    return $menu_array[3];
     
    15881588        foreach ( array_keys( $submenu ) as $parent ) {
    15891589            foreach ( $submenu[$parent] as $submenu_array ) {
    1590                 if ( isset( $plugin_page ) &&
     1590                if ( $plugin_page &&
    15911591                    ( $plugin_page == $submenu_array[2] ) &&
    15921592                    (
     
    15951595                        ( $plugin_page == $hook ) ||
    15961596                        ( $pagenow == 'admin.php' && $parent1 != $submenu_array[2] ) ||
    1597                         ( !empty($typenow) && $parent == $pagenow . '?post_type=' . $typenow)
     1597                        ( $typenow && $parent == $pagenow . '?post_type=' . $typenow)
    15981598                    )
    15991599                    ) {
     
    16161616        if ( empty ( $title ) ) {
    16171617            foreach ( $menu as $menu_array ) {
    1618                 if ( isset( $plugin_page ) &&
     1618                if ( $plugin_page &&
    16191619                    ( $plugin_page == $menu_array[2] ) &&
    16201620                    ( $pagenow == 'admin.php' ) &&
     
    16711671    $parent = get_admin_page_parent();
    16721672
    1673     if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
     1673    if ( ! $plugin_page && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
    16741674        return false;
    16751675
    1676     if ( isset( $plugin_page ) ) {
     1676    if ( $plugin_page ) {
    16771677        if ( isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) )
    16781678            return false;
     
    16891689        if ( isset( $_wp_submenu_nopriv[$pagenow][$pagenow] ) )
    16901690            return false;
    1691         if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
     1691        if ( $plugin_page && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
    16921692            return false;
    1693         if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
     1693        if ( $plugin_page && isset( $_wp_menu_nopriv[$plugin_page] ) )
    16941694            return false;
    16951695        foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
    16961696            if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) )
    16971697                return false;
    1698             if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
     1698            if ( $plugin_page && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
    16991699            return false;
    17001700        }
     
    17021702    }
    17031703
    1704     if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
     1704    if ( $plugin_page && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
    17051705        return false;
    17061706
    17071707    if ( isset( $submenu[$parent] ) ) {
    17081708        foreach ( $submenu[$parent] as $submenu_array ) {
    1709             if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) {
     1709            if ( $plugin_page && ( $submenu_array[2] == $plugin_page ) ) {
    17101710                if ( current_user_can( $submenu_array[1] ))
    17111711                    return true;
  • trunk/src/wp-admin/menu-header.php

    r31090 r31105  
    6767        }
    6868
    69         if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) {
     69        if ( ( $parent_file && $item[2] == $parent_file ) || ( ! $typenow && $self == $item[2] ) ) {
    7070            $class[] = ! empty( $submenu_items ) ? 'wp-has-current-submenu wp-menu-open' : 'current';
    7171        } else {
     
    168168
    169169                // Handle current for post_type=post|page|foo pages, which won't match $self.
    170                 $self_type = ! empty( $typenow ) ? $self . '?post_type=' . $typenow : 'nothing';
     170                $self_type = $typenow ? $self . '?post_type=' . $typenow : 'nothing';
    171171
    172172                if ( isset( $submenu_file ) ) {
     
    176176                // This allows plugin pages with the same hook to exist under different parents.
    177177                } elseif (
    178                     ( ! isset( $plugin_page ) && $self == $sub_item[2] ) ||
    179                     ( isset( $plugin_page ) && $plugin_page == $sub_item[2] && ( $item[2] == $self_type || $item[2] == $self || file_exists($menu_file) === false ) )
     178                    ( ! $plugin_page && $self == $sub_item[2] ) ||
     179                    ( $plugin_page && $plugin_page == $sub_item[2] && ( $item[2] == $self_type || $item[2] == $self || file_exists($menu_file) === false ) )
    180180                ) {
    181181                    $class[] = 'current';
  • trunk/src/wp-includes/deprecated.php

    r31090 r31105  
    25772577    global $plugin_page;
    25782578
    2579     if ( isset($plugin_page) )
     2579    if ( $plugin_page )
    25802580        return true;
    25812581
Note: See TracChangeset for help on using the changeset viewer.