Make WordPress Core

Ticket #42486: 42486.diff

File 42486.diff, 1.2 KB (added by dd32, 8 years ago)
  • src/wp-admin/includes/menu.php

    foreach ( $menu as $id => $data ) { 
    166166                $first_sub = reset( $subs );
    167167                if ( $data[2] == $first_sub[2] )
    168168                        unset( $submenu[$data[2]] );
    169169        }
    170170
    171171        // If submenu is empty...
    172172        if ( empty($submenu[$data[2]]) ) {
    173173                // And user doesn't have privs, remove menu.
    174174                if ( isset( $_wp_menu_nopriv[$data[2]] ) ) {
    175175                        unset($menu[$id]);
    176176                }
    177177        }
    178178}
    179179unset($id, $data, $subs, $first_sub);
    180180
     181// Hide the tools page if it's going to be empty.
     182// 'import' is a shortcut here, it should really also check if can modify tags/cats too.
     183if ( ! isset( $submenu['tools.php'] ) && ! current_user_can( 'import' ) && ! has_action( 'tool_box' ) ) {
     184        foreach ( $menu as $i => $data ) {
     185                if ( 'tools.php' == $data[2] ) {
     186                        unset( $menu[ $i ] );
     187                        break;
     188                }
     189        }
     190        unset( $data );
     191}
     192
    181193/**
    182194 *
    183195 * @param string $add
    184196 * @param string $class
    185197 * @return string
    186198 */
    187199function add_cssclass($add, $class) {
    188200        $class = empty($class) ? $add : $class .= ' ' . $add;
    189201        return $class;
    190202}
    191203
    192204/**
    193205 *
    194206 * @param array $menu
    195207 * @return array