Make WordPress Core

Changeset 31106


Ignore:
Timestamp:
01/08/2015 10:51:30 PM (12 years ago)
Author:
wonderboymusic
Message:

After [31105], don't ditch the isset() calls for BC. Declare $page_hook as null so it is initialized for all execution paths but will still fail isset() checks.

Fixes #30958.

Location:
trunk/src
Files:
4 edited

Legend:

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

    r31105 r31106  
    9696global $pagenow, $hook_suffix, $plugin_page, $typenow, $taxnow;
    9797
    98 $page_hook = '';
    99 $hook_suffix = '';
    100 $plugin_page = '';
    101 $typenow = '';
    102 $taxnow = '';
     98$page_hook = null;
    10399
    104100$editing = false;
    105101
    106 if ( isset( $_GET['page'] ) ) {
     102if ( isset($_GET['page']) ) {
    107103        $plugin_page = wp_unslash( $_GET['page'] );
    108         $plugin_page = plugin_basename( $plugin_page );
    109 }
    110 
    111 if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) {
     104        $plugin_page = plugin_basename($plugin_page);
     105}
     106
     107if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) )
    112108        $typenow = $_REQUEST['post_type'];
    113 }
    114 
    115 if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) ) {
     109else
     110        $typenow = '';
     111
     112if ( isset( $_REQUEST['taxonomy'] ) && taxonomy_exists( $_REQUEST['taxonomy'] ) )
    116113        $taxnow = $_REQUEST['taxonomy'];
    117 }
     114else
     115        $taxnow = '';
    118116
    119117if ( WP_NETWORK_ADMIN )
    … …  
    154152do_action( 'admin_init' );
    155153
    156 if ( $plugin_page ) {
    157         if ( $typenow ) {
     154if ( isset($plugin_page) ) {
     155        if ( !empty($typenow) )
    158156                $the_parent = $pagenow . '?post_type=' . $typenow;
    159         } else {
     157        else
    160158                $the_parent = $pagenow;
    161         }
    162159        if ( ! $page_hook = get_plugin_page_hook($plugin_page, $the_parent) ) {
    163160                $page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
    … …  
    177174}
    178175
    179 if ( $page_hook ) {
     176$hook_suffix = '';
     177if ( isset( $page_hook ) ) {
    180178        $hook_suffix = $page_hook;
    181 } elseif ( $plugin_page ) {
     179} elseif ( isset( $plugin_page ) ) {
    182180        $hook_suffix = $plugin_page;
    183 } elseif ( $pagenow ) {
     181} elseif ( isset( $pagenow ) ) {
    184182        $hook_suffix = $pagenow;
    185183}
    … …  
    188186
    189187// Handle plugin admin pages.
    190 if ( $plugin_page ) {
     188if ( isset($plugin_page) ) {
    191189        if ( $page_hook ) {
    192190                /**
  • trunk/src/wp-admin/includes/plugin.php

    r31105 r31106  
    15091509        }
    15101510
    1511         if ( $pagenow == 'admin.php' && $plugin_page ) {
     1511        if ( $pagenow == 'admin.php' && isset( $plugin_page ) ) {
    15121512                foreach ( (array)$menu as $parent_menu ) {
    15131513                        if ( $parent_menu[2] == $plugin_page ) {
    … …  
    15261526        }
    15271527
    1528         if ( $plugin_page && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) ) {
     1528        if ( isset( $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 ( $typenow && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
     1539                        if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
    15401540                                $parent_file = $parent;
    15411541                                return $parent;
    1542                         } elseif ( $submenu_array[2] == $pagenow && ! $typenow && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
     1542                        } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
    15431543                                $parent_file = $parent;
    15441544                                return $parent;
    1545                         } elseif ( $plugin_page && ($plugin_page == $submenu_array[2] ) ) {
     1545                        } elseif ( isset( $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 ( $plugin_page && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
     1578                                } elseif ( isset( $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 ( $plugin_page &&
     1590                                if ( isset( $plugin_page ) &&
    15911591                                        ( $plugin_page == $submenu_array[2] ) &&
    15921592                                        (
    … …  
    15951595                                                ( $plugin_page == $hook ) ||
    15961596                                                ( $pagenow == 'admin.php' && $parent1 != $submenu_array[2] ) ||
    1597                                                 ( $typenow && $parent == $pagenow . '?post_type=' . $typenow)
     1597                                                ( !empty($typenow) && $parent == $pagenow . '?post_type=' . $typenow)
    15981598                                        )
    15991599                                        ) {
    … …  
    16161616                if ( empty ( $title ) ) {
    16171617                        foreach ( $menu as $menu_array ) {
    1618                                 if ( $plugin_page &&
     1618                                if ( isset( $plugin_page ) &&
    16191619                                        ( $plugin_page == $menu_array[2] ) &&
    16201620                                        ( $pagenow == 'admin.php' ) &&
    … …  
    16711671        $parent = get_admin_page_parent();
    16721672
    1673         if ( ! $plugin_page && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
     1673        if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
    16741674                return false;
    16751675
    1676         if ( $plugin_page ) {
     1676        if ( isset( $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 ( $plugin_page && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
     1691                if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
    16921692                        return false;
    1693                 if ( $plugin_page && isset( $_wp_menu_nopriv[$plugin_page] ) )
     1693                if ( isset( $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 ( $plugin_page && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
     1698                        if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
    16991699                        return false;
    17001700                }
    … …  
    17021702        }
    17031703
    1704         if ( $plugin_page && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
     1704        if ( isset( $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 ( $plugin_page && ( $submenu_array[2] == $plugin_page ) ) {
     1709                        if ( isset( $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

    r31105 r31106  
    6767                }
    6868
    69                 if ( ( $parent_file && $item[2] == $parent_file ) || ( ! $typenow && $self == $item[2] ) ) {
     69                if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($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 = $typenow ? $self . '?post_type=' . $typenow : 'nothing';
     170                                $self_type = ! empty( $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                                         ( ! $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 ) )
     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 ) )
    180180                                ) {
    181181                                        $class[] = 'current';
  • trunk/src/wp-includes/deprecated.php

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