Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (9 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

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

    r37914 r42343  
    4343
    4444// Create list of page plugin hook names.
    45 foreach ($menu as $menu_page) {
    46     if ( false !== $pos = strpos($menu_page[2], '?') ) {
     45foreach ( $menu as $menu_page ) {
     46    if ( false !== $pos = strpos( $menu_page[2], '?' ) ) {
    4747        // Handle post_type=post|page|foo pages.
    48         $hook_name = substr($menu_page[2], 0, $pos);
    49         $hook_args = substr($menu_page[2], $pos + 1);
    50         wp_parse_str($hook_args, $hook_args);
     48        $hook_name = substr( $menu_page[2], 0, $pos );
     49        $hook_args = substr( $menu_page[2], $pos + 1 );
     50        wp_parse_str( $hook_args, $hook_args );
    5151        // Set the hook name to be the post type.
    52         if ( isset($hook_args['post_type']) )
     52        if ( isset( $hook_args['post_type'] ) ) {
    5353            $hook_name = $hook_args['post_type'];
    54         else
    55             $hook_name = basename($hook_name, '.php');
    56         unset($hook_args);
     54        } else {
     55            $hook_name = basename( $hook_name, '.php' );
     56        }
     57        unset( $hook_args );
    5758    } else {
    58         $hook_name = basename($menu_page[2], '.php');
    59     }
    60     $hook_name = sanitize_title($hook_name);
    61 
    62     if ( isset($compat[$hook_name]) )
    63         $hook_name = $compat[$hook_name];
    64     elseif ( !$hook_name )
     59        $hook_name = basename( $menu_page[2], '.php' );
     60    }
     61    $hook_name = sanitize_title( $hook_name );
     62
     63    if ( isset( $compat[ $hook_name ] ) ) {
     64        $hook_name = $compat[ $hook_name ];
     65    } elseif ( ! $hook_name ) {
    6566        continue;
    66 
    67     $admin_page_hooks[$menu_page[2]] = $hook_name;
    68 }
    69 unset($menu_page, $compat);
     67    }
     68
     69    $admin_page_hooks[ $menu_page[2] ] = $hook_name;
     70}
     71unset( $menu_page, $compat );
    7072
    7173$_wp_submenu_nopriv = array();
    72 $_wp_menu_nopriv = array();
     74$_wp_menu_nopriv    = array();
    7375// Loop over submenus and remove pages for which the user does not have privs.
    74 foreach ($submenu as $parent => $sub) {
    75     foreach ($sub as $index => $data) {
    76         if ( ! current_user_can($data[1]) ) {
    77             unset($submenu[$parent][$index]);
    78             $_wp_submenu_nopriv[$parent][$data[2]] = true;
    79         }
    80     }
    81     unset($index, $data);
    82 
    83     if ( empty($submenu[$parent]) )
    84         unset($submenu[$parent]);
    85 }
    86 unset($sub, $parent);
     76foreach ( $submenu as $parent => $sub ) {
     77    foreach ( $sub as $index => $data ) {
     78        if ( ! current_user_can( $data[1] ) ) {
     79            unset( $submenu[ $parent ][ $index ] );
     80            $_wp_submenu_nopriv[ $parent ][ $data[2] ] = true;
     81        }
     82    }
     83    unset( $index, $data );
     84
     85    if ( empty( $submenu[ $parent ] ) ) {
     86        unset( $submenu[ $parent ] );
     87    }
     88}
     89unset( $sub, $parent );
    8790
    8891/*
     
    9295 */
    9396foreach ( $menu as $id => $data ) {
    94     if ( empty($submenu[$data[2]]) )
     97    if ( empty( $submenu[ $data[2] ] ) ) {
    9598        continue;
    96     $subs = $submenu[$data[2]];
    97     $first_sub = reset( $subs );
     99    }
     100    $subs       = $submenu[ $data[2] ];
     101    $first_sub  = reset( $subs );
    98102    $old_parent = $data[2];
    99103    $new_parent = $first_sub[2];
     
    103107     */
    104108    if ( $new_parent != $old_parent ) {
    105         $_wp_real_parent_file[$old_parent] = $new_parent;
    106         $menu[$id][2] = $new_parent;
    107 
    108         foreach ($submenu[$old_parent] as $index => $data) {
    109             $submenu[$new_parent][$index] = $submenu[$old_parent][$index];
    110             unset($submenu[$old_parent][$index]);
    111         }
    112         unset($submenu[$old_parent], $index);
    113 
    114         if ( isset($_wp_submenu_nopriv[$old_parent]) )
    115             $_wp_submenu_nopriv[$new_parent] = $_wp_submenu_nopriv[$old_parent];
    116     }
    117 }
    118 unset($id, $data, $subs, $first_sub, $old_parent, $new_parent);
     109        $_wp_real_parent_file[ $old_parent ] = $new_parent;
     110        $menu[ $id ][2]                      = $new_parent;
     111
     112        foreach ( $submenu[ $old_parent ] as $index => $data ) {
     113            $submenu[ $new_parent ][ $index ] = $submenu[ $old_parent ][ $index ];
     114            unset( $submenu[ $old_parent ][ $index ] );
     115        }
     116        unset( $submenu[ $old_parent ], $index );
     117
     118        if ( isset( $_wp_submenu_nopriv[ $old_parent ] ) ) {
     119            $_wp_submenu_nopriv[ $new_parent ] = $_wp_submenu_nopriv[ $old_parent ];
     120        }
     121    }
     122}
     123unset( $id, $data, $subs, $first_sub, $old_parent, $new_parent );
    119124
    120125if ( is_network_admin() ) {
     
    155160 */
    156161foreach ( $menu as $id => $data ) {
    157     if ( ! current_user_can($data[1]) )
    158         $_wp_menu_nopriv[$data[2]] = true;
     162    if ( ! current_user_can( $data[1] ) ) {
     163        $_wp_menu_nopriv[ $data[2] ] = true;
     164    }
    159165
    160166    /*
     
    162168     * remove the submenu.
    163169     */
    164     if ( ! empty( $submenu[$data[2]] ) && 1 == count ( $submenu[$data[2]] ) ) {
    165         $subs = $submenu[$data[2]];
     170    if ( ! empty( $submenu[ $data[2] ] ) && 1 == count( $submenu[ $data[2] ] ) ) {
     171        $subs      = $submenu[ $data[2] ];
    166172        $first_sub = reset( $subs );
    167         if ( $data[2] == $first_sub[2] )
    168             unset( $submenu[$data[2]] );
     173        if ( $data[2] == $first_sub[2] ) {
     174            unset( $submenu[ $data[2] ] );
     175        }
    169176    }
    170177
    171178    // If submenu is empty...
    172     if ( empty($submenu[$data[2]]) ) {
     179    if ( empty( $submenu[ $data[2] ] ) ) {
    173180        // And user doesn't have privs, remove menu.
    174         if ( isset( $_wp_menu_nopriv[$data[2]] ) ) {
    175             unset($menu[$id]);
    176         }
    177     }
    178 }
    179 unset($id, $data, $subs, $first_sub);
     181        if ( isset( $_wp_menu_nopriv[ $data[2] ] ) ) {
     182            unset( $menu[ $id ] );
     183        }
     184    }
     185}
     186unset( $id, $data, $subs, $first_sub );
    180187
    181188/**
    182  *
    183189 * @param string $add
    184190 * @param string $class
    185191 * @return string
    186192 */
    187 function add_cssclass($add, $class) {
    188     $class = empty($class) ? $add : $class .= ' ' . $add;
     193function add_cssclass( $add, $class ) {
     194    $class = empty( $class ) ? $add : $class .= ' ' . $add;
    189195    return $class;
    190196}
    191197
    192198/**
    193  *
    194199 * @param array $menu
    195200 * @return array
    196201 */
    197 function add_menu_classes($menu) {
     202function add_menu_classes( $menu ) {
    198203    $first = $lastorder = false;
    199     $i = 0;
    200     $mc = count($menu);
     204    $i     = 0;
     205    $mc    = count( $menu );
    201206    foreach ( $menu as $order => $top ) {
    202207        $i++;
    203208
    204209        if ( 0 == $order ) { // dashboard is always shown/single
    205             $menu[0][4] = add_cssclass('menu-top-first', $top[4]);
    206             $lastorder = 0;
     210            $menu[0][4] = add_cssclass( 'menu-top-first', $top[4] );
     211            $lastorder  = 0;
    207212            continue;
    208213        }
    209214
    210         if ( 0 === strpos($top[2], 'separator') && false !== $lastorder ) { // if separator
    211             $first = true;
    212             $c = $menu[$lastorder][4];
    213             $menu[$lastorder][4] = add_cssclass('menu-top-last', $c);
     215        if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastorder ) { // if separator
     216            $first                 = true;
     217            $c                     = $menu[ $lastorder ][4];
     218            $menu[ $lastorder ][4] = add_cssclass( 'menu-top-last', $c );
    214219            continue;
    215220        }
    216221
    217222        if ( $first ) {
    218             $c = $menu[$order][4];
    219             $menu[$order][4] = add_cssclass('menu-top-first', $c);
    220             $first = false;
     223            $c                 = $menu[ $order ][4];
     224            $menu[ $order ][4] = add_cssclass( 'menu-top-first', $c );
     225            $first             = false;
    221226        }
    222227
    223228        if ( $mc == $i ) { // last item
    224             $c = $menu[$order][4];
    225             $menu[$order][4] = add_cssclass('menu-top-last', $c);
     229            $c                 = $menu[ $order ][4];
     230            $menu[ $order ][4] = add_cssclass( 'menu-top-last', $c );
    226231        }
    227232
     
    239244}
    240245
    241 uksort($menu, "strnatcasecmp"); // make it all pretty
     246uksort( $menu, 'strnatcasecmp' ); // make it all pretty
    242247
    243248/**
     
    255260        $menu_order[] = $menu_item[2];
    256261    }
    257     unset($menu_item);
     262    unset( $menu_item );
    258263    $default_menu_order = $menu_order;
    259264
     
    270275     * @param array $menu_order An ordered array of menu items.
    271276     */
    272     $menu_order = apply_filters( 'menu_order', $menu_order );
    273     $menu_order = array_flip($menu_order);
    274     $default_menu_order = array_flip($default_menu_order);
    275 
    276     /**
    277      *
     277    $menu_order         = apply_filters( 'menu_order', $menu_order );
     278    $menu_order         = array_flip( $menu_order );
     279    $default_menu_order = array_flip( $default_menu_order );
     280
     281    /**
    278282     * @global array $menu_order
    279283     * @global array $default_menu_order
     
    283287     * @return int
    284288     */
    285     function sort_menu($a, $b) {
     289    function sort_menu( $a, $b ) {
    286290        global $menu_order, $default_menu_order;
    287291        $a = $a[2];
    288292        $b = $b[2];
    289         if ( isset($menu_order[$a]) && !isset($menu_order[$b]) ) {
     293        if ( isset( $menu_order[ $a ] ) && ! isset( $menu_order[ $b ] ) ) {
    290294            return -1;
    291         } elseif ( !isset($menu_order[$a]) && isset($menu_order[$b]) ) {
     295        } elseif ( ! isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) {
    292296            return 1;
    293         } elseif ( isset($menu_order[$a]) && isset($menu_order[$b]) ) {
    294             if ( $menu_order[$a] == $menu_order[$b] )
     297        } elseif ( isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) {
     298            if ( $menu_order[ $a ] == $menu_order[ $b ] ) {
    295299                return 0;
    296             return ($menu_order[$a] < $menu_order[$b]) ? -1 : 1;
     300            }
     301            return ( $menu_order[ $a ] < $menu_order[ $b ] ) ? -1 : 1;
    297302        } else {
    298             return ($default_menu_order[$a] <= $default_menu_order[$b]) ? -1 : 1;
    299         }
    300     }
    301 
    302     usort($menu, 'sort_menu');
    303     unset($menu_order, $default_menu_order);
     303            return ( $default_menu_order[ $a ] <= $default_menu_order[ $b ] ) ? -1 : 1;
     304        }
     305    }
     306
     307    usort( $menu, 'sort_menu' );
     308    unset( $menu_order, $default_menu_order );
    304309}
    305310
     
    327332$last_menu_key = array_keys( $menu );
    328333$last_menu_key = array_pop( $last_menu_key );
    329 if ( !empty( $menu ) && 'wp-menu-separator' == $menu[ $last_menu_key ][ 4 ] )
     334if ( ! empty( $menu ) && 'wp-menu-separator' == $menu[ $last_menu_key ][4] ) {
    330335    unset( $menu[ $last_menu_key ] );
     336}
    331337unset( $last_menu_key );
    332338
    333 if ( !user_can_access_admin_page() ) {
     339if ( ! user_can_access_admin_page() ) {
    334340
    335341    /**
     
    343349}
    344350
    345 $menu = add_menu_classes($menu);
     351$menu = add_menu_classes( $menu );
Note: See TracChangeset for help on using the changeset viewer.